在PHP中如何使用php mongo对象运行mongo脚本

时间:2015-04-26 18:14:12

标签: php mongodb execute

使用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

执行此代码

1 个答案:

答案 0 :(得分:0)

您编写了Collrction而不是集合。

db.Collrction.find(

应该是

db.Collection.find(

另外,我记得使用数组的mongodb PHP,而不是JSON字符串。尝试在当前查询中使用json_decode()函数来查看它是否有效