0

フィールド'attributeMetaDataList'には次のような参照があります

, "path" : "Health & Personal Care > Health > Health Aids > Bathroom Aids & Safety > Bathtub Rails", "attributeMetaDataList" : [    {
        "$ref" : "AttributeMetadata",
        "$id" : ObjectId("50726bd4e4b0adf08145e4f1")
    },  {
        "$ref" : "AttributeMetadata",
        "$id" : ObjectId("50726bd4e4b0adf08145e4f2")
    },  {
        "$ref" : "AttributeMetadata",
        "$id" : ObjectId("50726bd4e4b0adf08145e4f3")
    },  {
        "$ref" : "AttributeMetadata",
        "$id" : ObjectId("50726bd4e4b0adf08145e4f4")
    },  {
        "$ref" : "AttributeMetadata",
        "$id" : ObjectId("50726bd4e4b0adf08145e4f5")
    } ]

ループを介してこの参照を削除したいと思います。

利用した、

db.Category.find({"path": /Health & Personal Care/}).forEach(function(x){
  x.attributeMetaDataList=$unset
 }
)

これは私にはうまくいきません。ヘルプはありますか?

4

1 に答える 1

0
db.Category.find({"path":/^Health/}).forEach(function(x){
  db.Category.update({_id:x._id},{$unset:{"attributeMetaDataList":1}})
})

それは私のために働いた。

于 2013-01-22T10:42:46.757 に答える