MongoDB找到了文档,但相同的更新查询更新了0条记录



我正试图通过删除user:中的所有数组元素来更新某些文档

  • db.getCollection('units').find({"acctId": ObjectId('123')}).count()返回3557条记录

  • db.getCollection('units').find({"accountId": ObjectId('123'), users: { $exists: true, $ne: [] } }).count()返回710

但是!

  • db.getCollection('units').update({"accountId": ObjectId('123')}, { $set: { users: [] } }, { multi: true });更新0条记录

find查询和update查询具有完全相同的查找条件,并且肯定有非空的用户数组需要更新。查询运行成功,但没有更新任何值。

我一定错过了什么显而易见的东西?

好的,我把它留给有同样问题的人。

我连接到复制集上的辅助mongo实例。那只允许我读书。如果您在更新或删除记录时遇到问题,但查找查询工作正常,那么您可能存在只读权限问题,需要重新连接到副本集上的主mongo实例

最新更新