如何在mongoDB中向$ addToSet添加密钥

时间:2016-11-01 11:47:27

标签: mongodb

我想在mongodb add函数中添加一个键。我现在正在这样做。

$addToSet : {
    "msges":{
            time:{"from":uname,"title":title,"msg":msg,"read":false}
        }
    }

时间是来自参数的变量。它内部有时间为hh:mm:ss A.但是当查询运行时,而不是时间作为键,字符串" time"得到打印作为关键。任何想法我该怎么办?

1 个答案:

答案 0 :(得分:1)

将您的变量括在[]

$addToSet: {
    "msges": {
        [time]: { "from": uname, "title": title, "msg": msg, "read": false }
    }
}

例如:

var myfield = "custom_field";

db.test.update({
    _id: 1
}, {
    $addToSet: {
        letters: [{
            [myfield]: 1
        }, {
            [myfield]: 2
        }]
    }
})

它给出了:

{ "_id" : 1, "letters" : [ [ { "custom_field" : 1 }, { "custom_field" : 2 } ] ] }