2
下面的代碼有效,但顯然最後兩行是「hacky」。這是我已經得到了工作至今的唯一的事情:「KeyValueDocument」不能轉換MongoDb中FindAndModify的ModifiedDocument CSharp
var collection = _database.GetCollection<KeyValueDocument>(KeyValueDocumentCollectionName);
var query = Query.And(Query.EQ("KeyName", keyName));
var sortBy = SortBy.Ascending("KeyName");
var update = Update.Inc("KeyValue", adjustmentAmount);
var result = collection.FindAndModify(query, sortBy, update, true);
var newValue = result.ModifiedDocument.Elements.Last().Value;
return Int32.Parse(newValue.RawValue.ToString());
的問題是,我無法投result.ModifiedDocument正確回
調試時,我可以清楚地看到,KeyValueDocument的所有三個屬性都是存在的,用正確的值。我可以看到「元素」集合,其中最後一個集合的屬性增加了。墜落到了「RawValue」屬性的ToString,解析成一個int。呼!
但是...有一定有一個更好的辦法!我使用C#和官方10gen驅動程序。
如果可以,請幫助,謝謝! 特拉維斯
的感謝!完全錯過了這個方法。 – 2012-01-17 12:53:25