mongodb — в PHP как мне запустить скрипт mongo, используя объект php mongo

С помощью PHP мне нужно обновить мой контент монго. Моя структура коллекции монго приведена ниже

{
"_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 «Can canicalical query: …», когда тот же код используется с командой db-> execute (). Кто-нибудь может мне помочь выполнить этот код из PHP

0

Решение

Вы написали Collrction вместо коллекции.

db.Collrction.find(

должно быть

db.Collection.find(

Кроме того, я помню mongodb PHP, использующий массивы, а не строки JSON. Попробуйте использовать функцию json_decode () в ваших текущих запросах, чтобы увидеть, работает ли она

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]