2015-09-23 2 views
0

У меня есть, например, эта запись:Можно ли загружать только часть очень длинных записей в MongoDb?

{ 
    Id : "abc...", 
    Name : "John Smith", 
    List : [ 
     { Status : "failure abc" }, 
     { Status : "Success" }, 
     /* 
      ... many many more like that ... 
     */ 
     { Status : "Last entry" } 
    ] 
} 

Поле List очень очень очень долго. Могу ли я получить только поля Id и Name, избегая излишней выборки всего List, чтобы сэкономить время?

Или мне нужно просто оставить List в своем собственном collection или как независимую запись записи?

(предпочтительно C# код)

+0

Вы можете пересмотреть с большими встроенными массивами в документах, поскольку они могут привести к проблемам производительности , Для получения дополнительной информации см. [Почему я не должен встраивать большие массивы в свои документы?] (Http://askasya.com/post/largeembeddedarrays). – Stennie

ответ

2

Да, вы можете получить только Id и name использование MongoDB-х project fields как:

db.collection.find({},{"Id":1,"Name":1}) 
+0

Это должно быть как 'collection.Find (query) .SetFields (Fields.Exclude (" List "))' – Vishwas

Смежные вопросы