gpt4 book ai didi

c# - MongoDb 中的 FindAndModify() 不返回更改的文档

转载 作者:可可西里 更新时间:2023-11-01 09:08:21 25 4
gpt4 key购买 nike

我正在使用 FindAndModify 修改文档。

文档的类型为User,要修改的元素称为web:

var users = _db.GetCollection<User>(UserCollectionName);

var userQuery = Query.EQ("user", "testuser");

var findAndModifyResult = users.FindAndModify(
new FindAndModifyArgs()
{
Query = userQuery,
Update = Update.Set("web", "testweb")
});

// user.web is unchanged in the result
var user = findAndModifyResult.GetModifiedDocumentAs<User>();

// user.web is changed in the result
user = users.FindOne(userQuery);

GetModifiedDocumentAs() 不返回更改后的实例,user.web 仍然具有更新前的相同值。

当我使用 FindOne() 查询 user 时,我看到了更改后的值。

有什么我需要处理的,以便 FindAndModify() 返回修改后的文档吗?

最佳答案

为了扩展 Will Shavers 的回答,这是使用 c# 驱动程序的正确方法:

collection.FindAndModify(
new FindAndModifyArgs()
{
Query = query,
Update = updateOperation,
// this needs to be set
VersionReturned = FindAndModifyDocumentVersion.Modified

});

关于c# - MongoDb 中的 FindAndModify() 不返回更改的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23225357/

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