У меня следующий запрос:
db.COLLECTIONNAME.update({ groupId:11 },{ $set: { "users.$[elem1].preferred_username": 'cmaronchick2'} },{ arrayFilters: [ {"elem1.username":'cmaronchick'} ] })
Версия моего сервера Mongo - 3.6.6. Я пробовал это с помощью оболочки, и она работает.
Однако, когда я пытаюсь выполнить тот же запрос, используя функцию Lambda с использованием Node.js в AWS, я получаю следующую ошибку:
No array filter found for identifier \'elem1\'
Как мне решить эту проблему?
Вот код подключения:
var mongo = require("mongodb").MongoClient,
assert = require("assert");
const MONGO_URL = 'mongodb://USERNAME:PASSWORD@MONGODBURL:PORT/DBNAME';
// console.log('Loading function');
exports.handler = (event, context) => {
console.log('Received event:', JSON.stringify(event, null, 2));
mongo.connect(MONGO_URL, function (err, db) {
db.COLLECTIONNAME.update({ groupId:11 },{ $set: { "users.$[elem1].preferred_username": 'cmaronchick2'} },{ arrayFilters: [ {"elem1.username":'cmaronchick'} ] })
}