0

次のようなデータベースがあります。

{
    "_id": ObjectId("50525e55467f67da3f8baf06"),
    "client": "client1"
}{
    "_id": ObjectId("505262f0deed32a758410b1c"),
    "client": "client2"
}{
    "_id": ObjectId("505269e2062dae91946e3c26"),
    "client": "client3"
}{
    "_id": ObjectId("5052f469341bdc4e8ac1b226"),
    "client": "client4",
    "products": [
        {
            "name": "product1"
        },
        {
            "name": "product2"
        }
    ]
}

私の質問は、client4 レコードを削除せずに、client4 の製品リストから product2 を削除するにはどうすればよいですか? 出力は次のようになります。

{
    "_id": ObjectId("50525e55467f67da3f8baf06"),
    "client": "client1"
}{
    "_id": ObjectId("505262f0deed32a758410b1c"),
    "client": "client2"
}{
    "_id": ObjectId("505269e2062dae91946e3c26"),
    "client": "client3"
}{
    "_id": ObjectId("5052f469341bdc4e8ac1b226"),
    "client": "client4",
    "products": {
        "name": "product1"
    }
}
4

1 に答える 1

0

$pullを使用できます

db.coll.update({client:'client4'},{$pull : { products : { name : 'product1' }});
于 2012-09-14T09:22:23.887 に答える