我的MongoDB文档具有以下结构:
{ _id : 'some_ID',
matrix: [[0,0,0][0,0,0][0,0,0]]
}
我希望我的NodeJS服务器增加 第二个数组 的 第二个值 矩阵 ,给定特定ID。
即我想要:
{ _id : 'some_ID',
matrix: [[0,0,0][0,1,0][0,0,0]]
}
我错误地尝试了:
db.collection('myCollection').update({ _id : 'some_ID' },
{ $inc : { matrix[1][1] : 1 } }
);
对正确的方法有任何猜测吗?
谢谢:)
答案 0 :(得分:0)
您必须使用聚合来获取该元素,然后您可以增加它。 看看这个 - MongoDB multidimensional array projection
我建议在你的代码逻辑中处理这个问题,在那里你得到数组,增加索引并更新数据库。 希望这有帮助
答案 1 :(得分:0)
您可以使用dot notation并指定数组索引来增加值:
db.collection('myCollection').update({ _id: 'some_ID' },
{ $inc: { "matrix.1.1": 1 } }
);