我有一个插入我的mongo集合中的json。现在我想更新插入集合中的相同json,这样我需要使用id将新数据元素添加到该集合中早点生成。 例如:
{
"name":"sam",
"age":20,
"_id":""5sq8uye1236g'
}
如果上面是json什么插入到我们在集合中为它生成_id的集合中。 现在我有变量叫做token。
var token = 12345
现在我想更新上面的集合,以便根据该节点的_id添加此令牌。 集合中所需的格式
{
"name":"sam",
"age":20,
"token":12345,
"_id":""5sq8uye1236g'
}
有人能帮助我吗? 感谢。
答案 0 :(得分:2)
答案 1 :(得分:0)
db.<collection_name>.update(
{ _id: 5sq8uye1236g },
{ $set:
{
"token": "12345"
}
}
)
https://docs.mongodb.com/manual/reference/operator/update/set/
答案 2 :(得分:0)
通过 Mongo 的 ID 更新时不能使用简单的字符串,需要使用 ObjectId。对于您的示例,假设您的 ObjectId 是 xxxxxxxxxxxxx
:
db.mycollection.update({_id:ObjectId('xxxxxxxxxxxxx')},{$set :{token:12345}})
我不能说哪个是最低版本,但我从 v4.2.2 开始测试过这个。
答案 3 :(得分:-1)
db.<collection_name>.update({"_id":"5sq8uye1236g"},{
"name":"sam",
"age":20,
"token":12345,
"_id":""5sq8uye1236g'
},{ upsert:true})
db.<collection_name>.update({"_id":"5sq8uye1236g"},{ $set :{"token":12345}})