使用PHP我需要更新我的mongo内容。我的mongo集合结构如下所示
{
"_id" :"5",
"rows": [
{ "id" : "aab", "value":100},
{ "id" : "dsc", "value":400},
{ "id" : "abc", "value":200},
{ "id" : "xyz", "value":300}
]
}
用于更新上述集合的脚本在Mongo Shell中正常工作
db.Collection.find({"_id" : "5"}).forEach(function(data) {
for (var i = 0; i < data.rows.length; i++) {
db.VizSpreadsheet.update({
"_id": data._id,
"rows.id": data.rows[i].id
}, {
"$set": {
"rows.$.status": 1
}
}, true, false);
}
});
我收到错误17287,&#34;无法规范化查询:...&#34;当相同的代码与db-&gt; execute()命令一起使用时。任何人都可以帮我从php
执行此代码答案 0 :(得分:0)
您编写了Collrction而不是集合。
db.Collrction.find(
应该是
db.Collection.find(
另外,我记得使用数组的mongodb PHP,而不是JSON字符串。尝试在当前查询中使用json_decode()函数来查看它是否有效