gpt4 book ai didi

c# - 如何在 C# 代码中使用 MongoDB 位置运算符?

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

我想在 C# 代码中使用 MongoDB 的位置运算符。这是 Customer 的数据结构:

{ 
name:"Robert",
age:40,
addresses:[
{street:"...", city:"New York", country:"USA", ...},
{street:"...", city:"California", country:"USA", ...},
],
}

因此,如果我想更新纽约市地址所在的街道值,我在 MongoDB 中使用此查询:

db.customer.update(
{ "addresses.city" : "New York"},
{ $set : {
"addresses.$" : {"street":"New street", city:"New York", country:"USA",...}
} }, false, true);

在 C# 代码中使用的等效查询是什么?如何在C#代码中使用位置运算符?

我使用的是官方 MongoDB 驱动程序。

最佳答案

在 C# 中你可以这样写:

var newAddress = new BsonDocument
{
{ "street", "New street" },
{ "city", "New York" },
{ "country", "USA" }
// ...
};
var query = Query.EQ("addresses.city", "New York");
var update = Update.Set("addresses.$", newAddress);
var result = customerCollection.Update(query, update, UpdateFlags.Multi);

这看起来确实是一个危险的更新;您是否仅根据城市匹配覆盖街道地址?查询在 mongo shell 中是否正常工作?

关于c# - 如何在 C# 代码中使用 MongoDB 位置运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9382685/

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