1

是否可以在执行 FindAndModify 时指定字段,因此只返回一个字段?

此外,如果对象不存在,是否可以进行更新插入以创建对象。

根据: http ://www.mongodb.org/display/DOCS/findAndModify+Command

我看不到任何添加附加参数的方法

编辑: 似乎有些混乱 - 我正在使用 NoRM (C#) https://github.com/atheken/NoRM/

4

2 回答 2

1

恐怕在 NoRM 中实际上是不可能的。您可以分叉项目并将重载的 FindAndModify 方法添加到文件 NoRM/Collections/MongoCollectionGeneric.cs 以支持此行为。

我认为您可能需要fields在传递给 findOne 的匿名对象中添加一个字段。

var returnValue = cmdColl.FindOne(new
{
  findandmodify = this._collectionName,
  query = query,
  update = update,
  sort = sort,
  fields = fields
}).Value;

也许是一个拉取请求:)

于 2011-02-25T09:45:45.037 回答
-2

使用字段说明符。例如

db.foo.findAndModify({query:{_id:"myid"},
update:{$set:{priority:78}},new:true,fields:{_id:1,priority:1}})
于 2011-02-24T19:27:07.313 回答