【问题标题】:mongo db remove json objectsmongodb删除json对象
【发布时间】:2014-03-20 10:20:40
【问题描述】:

我有一个 mongo json 对象如下

{
  "_id" : new BinData(3, "RDHABb22XESWvP83FplqJw=="),
  "name" : "NEW NODE",
  "host" : null,
  "aet" : null,
  "studies" : ["1.3.12.2.1107.5.99.3.30000008061114424970500000589"],
  "testcases" : [new BinData(3, "Zhl+zIXomkqAd8NIkRiTjQ==")],
  "sendentries" : [{
     "_id" : "1.3.12.2.1107.5.99.3.30000008061114424970500000589",
     "Index" : 0,
     "Type" : "Study"
     }, {
      "_id" : "cc7e1966-e885-4a9a-8077-c3489118938d",
      "Index" : 1,
      "Type" : "TestCase"
    }]
}

“Studies”和“TestCases”字段现已过时,我现在将这些信息存储在一个名为 SendEntries 的新字段中。我想从旧条目中删除研究和测试用例,并在未来取消映射这些字段。我想知道如何更新我当前的集合以摆脱 Studies 和 TestCases 字段。

我才刚接触 Mongo 几周。

【问题讨论】:

标签: json mongodb deprecated obsolete


【解决方案1】:

您可以将$unset 运算符与更新一起使用。

db.collection.update({},
    { $unset: {
      "studies": "",
      "testcases": ""
    },
    { "upsert": false, "muti": true }
)

这将从您的集合中的所有文档中删除所有字段

【讨论】:

    【解决方案2】:

    使用$unset,有一个manual页面例如

    db.yourCollection.update({}, { $未设置:{ 学习: ””, 测试用例: ”” } }, {多:真} )

    【讨论】:

    • 谢谢大家。我使用了 $unset。对于初学者来说,使用 MongoVUE 可能是一种简单的方法。只是更新我在MongoVUE中解决它的方式选择要更改的集合,右键单击并选择更新。在“输入查找 Json”窗口中输入以下 {“您要删除的字段”:{ $exists : true } } 单击计数以查找实例数。在 'Enter Update Json' 中输入以下内容: { $unset : { "Field You want to delete" : "number of instances"} } 点击更新。如果一切顺利,你的领域应该消失了。
    猜你喜欢
    • 2023-02-15
    • 2019-11-25
    • 1970-01-01
    • 2012-06-17
    • 2018-07-30
    • 2012-02-06
    • 2013-03-16
    相关资源
    最近更新 更多