为了账号安全,请及时绑定邮箱和手机立即绑定

如何在MongoDB文档中更新与条件匹配的Array元素?

如何在MongoDB文档中更新与条件匹配的Array元素?

有只小跳蛙 2019-07-03 10:37:30
如何在MongoDB文档中更新与条件匹配的Array元素?我有一个带有数组字段的文档,类似于以下内容:{    "_id" : "....",   "Statuses" : [     { "Type" : 1, "Timestamp" : ISODate(...) },     { "Type" : 2, "Timestamp" : ISODate(...) },     //Etc. etc.   ]}如何通过指定特定状态项的Type值来更新其时间戳?
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

在MongoDBshell中,您可以通过

db.your_collection.update(
    { _id: ObjectId("your_objectid"), "Statuses.Type": 1 },
    { $set: { "Statuses.$.Timestamp": "new timestamp" } })

所以c#等价物

var query = Query.And(
    Query.EQ("_id", "your_doc_id"),
    Query.EQ("Statuses.Type", 1));var result = your_collection.Update( 
    query, 
    Update.Set("Statuses.$.Timestamp", "new timestamp", UpdateFlags.Multi,SafeMode.True));

这将更新特定的文档,如果要更新整个集合,可以删除_id筛选器。


查看完整回答
反对 回复 2019-07-03
  • 1 回答
  • 0 关注
  • 650 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信