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