gpt4 book ai didi

linux - .NET Core 的 MongoDB C# 驱动程序中不受支持的位置运算符的解决方法

转载 作者:太空宇宙 更新时间:2023-11-04 09:16:18 24 4
gpt4 key购买 nike

在 Linux 上运行 .Net Core 时,似乎不支持 C# 驱动程序中位置运算符的所有用法。

这是我向 MongoDB 团队报告的一个问题,遗憾的是没有引起太多关注:

https://jira.mongodb.org/browse/CSHARP-2066

虽然我们正在等待此问题得到修复,但有人知道解决方法吗?

最佳答案

通常您可以求助于使用基于 JSON 字符串的查询。因此,使用您在 JIRA 问题中给出的示例,如下所示:

collection.UpdateOne(
filter: Builders<Animal>.Filter.Where(x => x.Subdocument.Subarray.Any(itm => itm.SomeProperty == "foobar")),
update: Builders<Animal>.Update.Inc(x => x.Subdocument.Subarray[-1].SomeNumericProperty, 10)
);

您可以将其重写为:

collection.UpdateOne(
filter: Builders<Animal>.Filter.Where(x => x.Subdocument.Subarray.Any(itm => itm.SomeProperty == "foobar")),
update: "{ $inc: { \"Subdocument.Subarray.$.SomeNumericProperty\": 10 } }")
);

关于linux - .NET Core 的 MongoDB C# 驱动程序中不受支持的位置运算符的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47293339/

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