我有一个mongo db表,如
{
"_id": ObjectId("531963b60748a6078fe4f345"),
"acces": "172.1.6.2.18",
"adapter": "Win 9",
"flavour": "LokiSnap",
"jobid": "8",
"os": "VM-WIN7-32",
"results": "",
"tests": "Test01"
}
此处result
字段为""
。
如何根据result
{"test" : "conenct","os":"osf"}
更新此表格值jobid
更新表后是
{
"_id": ObjectId("531963b60748a6078fe4f345"),
"acces": "172.1.6.2.18",
"adapter": "Win 9",
"flavour": "LokiSnap",
"jobid": "8",
"os": "VM-WIN7-32",
"results": {
"test": "conenct",
"os": "osf"
}`,
"tests": "Test01"
}
答案 0 :(得分:5)
是的,使用$set,这样就不会破坏整个文档,只需设置字段/字段
这是更新一个文档的查询
db.coll.update(
{"jobid": "8"}, // the filter based on jobid
{
$set: { "results": { "test": "conenct", "os": "osf" } }
}
)
这是更新所有文档的查询
db.coll.update(
{"jobid": "8"}, // the filter based on jobid
{
$set: { "results": { "test": "conenct", "os": "osf" } }
} ,
{ multi: true }
)
注意: - 这里,“coll”是你的收藏品名称。
答案 1 :(得分:2)
使用$set,这样就不会破坏整个文档,只需设置一个字段
coll.update(
{ "_id": ObjectId("531963b60748a6078fe4f345") }, // the filter
{
$set: { "results": { "test": "conenct", "os": "osf" } },
}
)