NoRM - FindAndModify с аргументами - PullRequest
       12

NoRM - FindAndModify с аргументами

1 голос
/ 24 февраля 2011

Можно ли указывать поля при выполнении FindAndModify, чтобы возвращалось только одно поле?

Также возможно ли выполнить upsert, чтобы создать объект, если он не существует.

Согласно: http://www.mongodb.org/display/DOCS/findAndModify+Command

Я не вижу способа добавить дополнительные аргументы

РЕДАКТИРОВАТЬ: Кажется, некоторые путаницы - яиспользуя NoRM (C #) https://github.com/atheken/NoRM/

Ответы [ 2 ]

1 голос
/ 25 февраля 2011

Боюсь, что в 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;

И, может быть, запрос на удаление:)

0 голосов
/ 24 февраля 2011

Использовать спецификатор полей.например,

db.foo.findAndModify({query:{_id:"myid"},
update:{$set:{priority:78}},new:true,fields:{_id:1,priority:1}})
...