有没有办法使用c#驱动程序在一个查询中实现切片和投影? 以下是我想用c#实现的目标,但即时通讯卡住了,任何人都可以帮我解决这个问题吗?
db.employee.find({"employeeId": "999"}, { "empActivity" : { "$slice": -1 } }, {"employeeId": 1, "empActivity.transId": 1, _id: 0})
注意:empActivity是一个包含嵌套文档的数组,上面的查询通过mongo shell完美地工作,但我无法在C#中找出它的等价物。
答案 0 :(得分:1)
有一种方法可以使用C#驱动程序执行此操作。方法可以在构建器上进行控制,因此所有.Slice()
和.Include()
以及.Exclude()
var fields = Fields.Slice("empActivity", -1)
.Include("employeeId", "empActivity.transId")
.Exclude("_id");
var cursor = collection.Find(query).SetFields(fields);