【发布时间】:2018-08-31 09:42:30
【问题描述】:
我的数据库中有以下文档:
{
....
"key": "val1",
....
"array" :[
{
"k":"v1",
"rejected":"0"
},
{
"k":"v2",
"rejected":"0"
}
]
.....
}
现在基本上我想为 ("key":"val1" && array[i]."k":"v1" ) 设置 "rejected":"1" 。
我写的 API 调用是:
var val1="val1";
var v1="v1";
request.put('https://api.mlab.com/api/1/databases/DB/collections/doc?q={"key": "'+val1+'","array.k":"'+v1+'"}&apiKey=.....',
{ json: { "$set": {"rejected": "1"}
} },
function (error, response, body) {
if (!error && response.statusCode == 200) {
console.log("----->Insertion"+body);
return res.status(200).send("[{\"status\":\"success\"}]");
}
else
{console.log(JSON.stringify(response));}
});
但 API 不是编辑所需的字段,而是在文档末尾附加一个新字段:
{
....
"key": "val1",
....
"array" :[
{
"k":"v1",
"rejected":"0"
},
{
"k":"v2",
"rejected":"0"
}
]
.....
"rejected":"1"
}
【问题讨论】: