0

次のような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 を使い始めてまだ数週間です。

4

2 に答える 2

0

update で$unset演算子を使用できます。

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

これにより、コレクション内のすべてのドキュメントからすべてのフィールドが削除されます

于 2014-03-20T10:31:42.580 に答える