0
Order.updateMany({
            "items.a": {$exists: false},
            "items.b": {$exists: false}
        }, {
            $set: {
                "items.$[element].a": false,
                "items.$[element].b": []
            }
        }, {
            arrayFilters: [
                {
                    'element.a' : {$exists: false}
                }
            ]
        });

我正在尝试查找所有没有ab字段(未为它们定义)的文档,并使用值false[]为它们设置这些字段。我收到此错误:“MongoServerError:文档中必须存在路径'项目'才能应用数组更新。” 但是项目已经按顺序声明:

new Schema({
        ...
        items: [{type: orderItemSchema, required: true}],
        ...
      
    }

我还希望能够将其他条件“element.b”:{$exists:false} 也添加到arrayFilter。有任何想法吗?

4

0 回答 0