Csharp/C#教程:与使用数组更新运算符$ 的以下查询等效的MongoDB C#驱动程序是什么分享


与使用数组更新运算符$ 的以下查询等效的MongoDB C#驱动程序是什么

来自https://docs.mongodb.com/manual/reference/operator/update/positional-filtered/#up。 S [%3Cidentifier%3E]

鉴于以下收集

{ "_id" : 1, "grades" : [ { "grade" : 80, "mean" : 75, "std" : 6 }, { "grade" : 85, "mean" : 90, "std" : 4 }, { "grade" : 85, "mean" : 85, "std" : 6 } ] } { "_id" : 2, "grades" : [ { "grade" : 90, "mean" : 75, "std" : 6 }, { "grade" : 87, "mean" : 90, "std" : 3 }, { "grade" : 85, "mean" : 85, "std" : 4 } ] } 

和查询

 db.students2.update( { }, { $set: { "grades.$[elem].mean" : 100 } }, { multi: true, arrayFilters: [ { "elem.grade": { $gte: 85 } } ] } ) 

如何使用C#驱动程序执行相同的查询? 目前我只是使用db.RunCommand对数据库运行查询,因为我看不到用当前驱动程序将其转换为C#的方法。

您可以使用BsonDocument和json string选项在c#下面尝试。 没有linq选项。

上述就是C#学习教程:与使用数组更新运算符$ 的以下查询等效的MongoDB C#驱动程序是什么分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var filter = Builders.Filter.Empty; var update = Builders.Update.Set("grades.$[elem].mean", 100); var arrayFilter = new BsonDocumentArrayFilterDefinition(new BsonDocument("elem.grade", new BsonDocument("$gte", 85))); var arrayFilter = new JsonArrayFilterDefinition("{ "elem.grade": { $gte: 85 } }"); var arrayFilters = new List { arrayFilter }; var updateOptions = new UpdateOptions(); updateOptions.ArrayFilters = arrayFilters; var result = collection.UpdateOne(filter, update, updateOptions); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/987216.html

(0)
上一篇 2021年12月22日
下一篇 2021年12月22日

精彩推荐