是否可以在执行FindAndModify时指定字段,因此只返回一个字段?
此外,是否可以进行upsert,以创建不存在的对象。
按照: http://www.mongodb.org/display/DOCS/findAndModify+Command
我看不到添加其他参数的任何方法
修改 似乎有些混乱 - 我正在使用NoRM(C#) https://github.com/atheken/NoRM/
答案 0 :(得分:1)
我担心NoRM实际上不可能。您可以分叉项目并将重载的FindAndModify方法添加到文件NoRM / Collections / MongoCollectionGeneric.cs以支持此行为。
我认为你可能需要在传递给findOne的匿名对象中添加一个字段fields
。
var returnValue = cmdColl.FindOne(new
{
findandmodify = this._collectionName,
query = query,
update = update,
sort = sort,
fields = fields
}).Value;
也许拉动请求:)
答案 1 :(得分:-2)
使用字段说明符。例如
db.foo.findAndModify({query:{_id:"myid"},
update:{$set:{priority:78}},new:true,fields:{_id:1,priority:1}})