1

FindAndModifyの実行中にフィールドを指定して、1つのフィールドのみが返されるようにすることは可能ですか?

また、オブジェクトが存在しない場合にオブジェクトを作成するために、アップサートを実行することは可能ですか。

によると: 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に追加して、この動作をサポートすることができます。

fieldsfindOneに渡される匿名オブジェクトにフィールドを追加する必要があるかもしれません。

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 に答える