2011-02-24 20 views

回答

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; 

也許pull請求:)

+0

字段的值應該是什麼?一個expando對象?另一個匿名類型? – Alex 2011-02-25 12:36:54

+0

據我所知,兩者都得到NoRM的支持。您可以在您的方法上使用泛型參數,並且NoRM將使用expando中受益的類型或使用匿名類型上的反射。 – Nekresh 2011-02-27 19:04:59

+0

你有一個例子..?我在MongoDB中發現了一個錯誤,它阻止了我做一些我想要的東西 - http://jira.mongodb.org/browse/SERVER-2626 – Alex 2011-02-27 20:07:50

-2

使用字段說明符。例如

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

抱歉,你錯過了關鍵的一點 - NoRM(C#的包裝) – Alex 2011-02-25 09:38:27