我正在尝试更新此MongoDB官方教程link中指定的数组。我遵循的步骤是:
创建集合名称测试:
在集合中插入文档:
db.getCollection('test')。insert({“_ id”:2,“grade”:[{“grade”:90, “mean”:75,“std”:6},{“grade”:87,“mean”:90,“std”:3},{ “等级”:85,“均值”:85,“标准”:4}]});
db.getCollection('test')。insert({“_ id”:1,“grade”:[{“grade”:80, “mean”:75,“std”:6},{“grade”:85,“mean”:90,“std”:4},{ “等级”:85,“均值”:85,“标准”:6}]});
尝试按照教程中的指定更新数组:
db.getCollection( '试验')。更新( {}, {$ inc:{“grade。$ []。std”: - 2}}, {multi:true} )
根据教程,它必须更新文档。但是,我收到了一个错误:
cannot use the part (grades of grades.$[].std) to traverse the element ({grades: [ { grade: 80.0, mean: 75.0, std: 6.0 }, { grade: 85.0, mean: 90.0, std: 4.0 }, { grade: 85.0, mean: 85.0, std: 6.0 } ]})
我正在使用MongoDB 3.4有谁知道解决方案?