MongoDB:如果存在,则替换整个阵列;如果不存在,则创建新阵列';不存在

MongoDB:如果存在,则替换整个阵列;如果不存在,则创建新阵列';不存在,mongodb,Mongodb,如果我的集合中充满了如下所示的数组 { "_id" : ObjectId("51f21c47564f4a9f411baf8d"), "Gender" : [ { "key" : "m", "desc" : "male" } ] } { "_id" : ObjectId("51

如果我的集合中充满了如下所示的数组

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

如果整个数组存在,则用什么查询替换它?如果不存在,则用什么查询创建新数组?

语法:

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);