MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Редактирането в mongodb ми се струва неясно

$redact етапът започва от основния документ и неговите полета и само когато този документ изпълнява условието за $$DESCEND , той разглежда поддокументите, включени в този документ. Това означава, че първото нещо, което $redact прави с вашия документ, е да прегледа това:

{
    "_id" : ObjectId("50b59cd75bed76f46522c34e"),
    "student_id" : 0,
    "class_id" : 2,
    "scores" : [] // Some array. I will look at this later.
}

Дори не намира type поле тук, така че $eq: [ "$type" , "exam" ] е невярно. Какво казахте на $redact да прави, когато условието е невярно? else: "$$PRUNE" , така че целият документ се съкращава, преди да бъдат прегледани поддокументите.

Като заобиколно решение, тествайте дали $type е или "exam" или не съществува. Не поискахте изрично работещо решение, така че ще ви оставя като упражнение да разберете как да направите това.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Нов C++ Mongo драйвер:как да видите типа и как да получите стойност на низ

  2. Има ли някакъв начин да създадете mongodb като _id низове без mongodb?

  3. Как да четем от MongoDB

  4. Самостоятелно хостван MongoDB

  5. Мога ли да прочета csv файл вътре в Javascript файл на Mongo Shell?