C#使用MongoDB.Drivers驱动批量更新的写法问题

xujie825 xujie825 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现有个需求,需要批量更新某个表的一批数据。
表名Organization
id Code
1 0102
2 010201
3 010202
4 01020201
要求把Code列以“0102”开头的数据更新成“0101”(Code列长度必须大于4位)
更新后的数据如下
id Code
1 0102
2 010101
3 010102
4 01010201


MS SQL的写法如下:

update Organization set Code='0101'+SUBSTRING(Code,5,LEN(Code)-4)
where SUBSTRING(Code,0,4)='0102' and LEN(Code)>4


现求使用MongoDb.Drivers的写法。

以下是我写了部分的语句。
  var query = Query.And(
Query.Matches("Code", new BsonRegularExpression(@"\b0102\d+\b"))
);

//定义更新文档
var update = new UpdateDocument {
{
"$set", new QueryDocument { { "Code", "" } }
}
};

//执行更新操作
Collection.Update(query, update, UpdateFlags.Multi, SafeMode.True);

在定义update这个参数的时候,实在不知道该在怎么写了。求各位大侠指导
不要写命令行语法,只求用MongoDB.Drivers驱动的写法
...全文
评论 8
收藏 已收藏
分享
返回顶部
xujie825
MongoDB 1,797 成员 1,466 内容