Modelling an atypical One to Many relation

See Aggregate $sort multiple fields in order - #2 by Stennie and pay particular attention about using numeric field names.

Sorting multiple fields produces wrong order - #3 by Stennie is also of interest.

I strongly suggest you redesign your block accesses using Building with Patterns: The Attribute Pattern | MongoDB Blog to give something like:

{
  user_id: 1000,
  name: 'A',
  blocks :
  [
   { "block_id" : 1,
     "accesses" : [
		{_id: 100, 'value': 100, 'last_edited': 'DATE'},
		{_id: 200, 'value': 100, 'last_edited': 'DATE'},
	] },
    { "block_id" : 2,
      "accesses" : [
		{_id: 400, 'value': 120, 'last_edited': 'DATE'},
	] }
  ]
}

to keep together the accesses of a given block. But, personally, I would use:

{
  user_id: 1000,
  name: 'A',
  email: 'a@abc.com',
  blocks :
  [
    { block_id : 1 , _id: 100, 'value': 100, 'last_edited': 'DATE'},
    { block_id : 1 , _id: 200, 'value': 100, 'last_edited': 'DATE'},
    { block_id : 2 , _id: 400, 'value': 120, 'last_edited': 'DATE'},
  ]
}