所以我试图在MongoDB
中插入一个新字段,虽然它会接受我的Javascript
变量作为数据,但它不会接受它作为新的字段名称:
function appendInformation(question, answer) {
Sessions.update({ _id: Id }, { question : answer });
}
它会插入正确答案,但在文档中列为question: {answer}
而不是{question} : {answer}
答案 0 :(得分:4)
您需要使用$set
使用新字段更新Session
文档。
function appendInformation(question, answer) {
var qa = { };
qa[question] = answer;
Sessions.update({ _id: Id }, { $set : qa });
}
$set
documentation
> db.so.remove()
> var qa={"question 1" : "the answer is 1"};
> db.so.insert(qa);
> db.so.find()
{ "_id" : ObjectId("520136af3c5438af60de6398"),
"question 1" : "the answer is 1" }
> var qa2={"question 2" : "the answer is 2"};
> db.so.update({ "_id" : ObjectId("520136af3c5438af60de6398")}, { $set : qa2 })
> db.so.find()
{ "_id" : ObjectId("520136af3c5438af60de6398"),
"question 1" : "the answer is 1",
"question 2" : "the answer is 2" }