0

如果我有很多像下面这样的数组,

{
        "_id" : ObjectId("51f21c47564f4a9f411baf8d"),
        "Gender" : [
                {
                        "key" : "m",
                        "desc" : "male"
                }
        ]
}
{
        "_id" : ObjectId("51f21c9a564f4a9f411baf8e"),
        "marital status" : [
                {
                        "key" : "m",
                        "desc" : "married"
                },
                {
                        "key" : "s",
                        "desc" : "single"
                }
        ]
}

如果存在则替换整个数组并在不存在时创建新数组的查询是什么?

4

1 回答 1

0

句法:

db.collection.update({<key>: {'$exists': true}}, {<key>: <value>}, 
{upsert: true});

查询以上场景

db.collection.update({"Gender": {'$exists': true}}, {"Gender": 
[{"key": "m", "desc": "male"}, {"key": "f", "desc": "female"}]}, true);
于 2013-07-26T07:24:41.683 回答