gpt4 book ai didi

mongodb - 无法在 MongoDb CSharp 中从 FindAndModify 转换修改后的文档

转载 作者:可可西里 更新时间:2023-11-01 10:35:02 25 4
gpt4 key购买 nike

下面的代码有效,但显然最后两行“hacky”。到目前为止,这是我唯一要做的事情:

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”。

调试时,我可以清楚地看到 KeyValueDocument 的所有三个属性都存在,并且值正确。我可以看到“Elements”集合,其中最后一个具有递增的属性。下降到 ToString 的“RawValue”属性,解析为 Int。哇!

但是...一定有更好的方法!我正在使用 C# 和官方 10gen 驱动程序。

如果可以,请帮忙,谢谢!特拉维斯

最佳答案

我不确定您的 KeyValueDocument 类是什么样的,但假设它具有 KeyName 和 KeyValue 属性,您可以这样写:

// initialize query, sortBy and update as you proposed
var result = collection.FindAndModify(query, sortBy, update, true);
var modifiedDocument = result.GetModifiedDocumentAs<KeyValueDocument>();
return modifiedDocument.KeyValue; // I'm assuming KeyValue is of type int

关于mongodb - 无法在 MongoDb CSharp 中从 FindAndModify 转换修改后的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8889235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com