2015-01-09 3 views
1

Есть ли способ реализовать срез вместе с проекцией только в одном запросе с помощью драйвера C#? Ниже я пытаюсь достичь с помощью C#, но я застрял, может ли кто-нибудь помочь мне справиться с этим?Срез с проекцией с C#

db.employee.find({"employeeId": "999"}, { "empActivity" : { "$slice": -1 } }, {"employeeId": 1, "empActivity.transId": 1, _id: 0}) 

Примечание: empActivity представляет собой массив, содержащий вложенные документы, мой запрос выше отлично работает через Монго оболочки, но я не могу понять его эквивалент в C#.

ответ

1

Существует способ сделать это с помощью драйвера C#. Методы могут быть chanined на строителей, так что все .Slice() и .Include() и .Exclude()

var fields = Fields.Slice("empActivity", -1) 
    .Include("employeeId", "empActivity.transId") 
    .Exclude("_id"); 

var cursor = collection.Find(query).SetFields(fields); 
+0

Ваш код не отображается, как проектировать другие поля, кроме нарезанных один, пожалуйста, вы можете дать мне пример на основе моего запроса, спасибо за помощь! – Neville

+0

@ Neville Конечно. Готово. –

+0

Большое спасибо, он работает безупречно сейчас. !! Очень ценю вашу помощь по этому поводу! – Neville

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