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

时间:2018-10-25 16:25:41

标签: mongodb

我正在尝试通过删除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查询具有完全相同的查找条件,并且肯定有要更新的非空用户数组。并且查询成功运行,但是没有值被更新。

我肯定想念一些明显的东西吗?

1 个答案:

答案 0 :(得分:0)

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

我已连接到副本集上的次要mongo实例。那只允许我阅读。如果您在更新或删除记录时遇到问题,但是查找查询正常运行,则可能是只读权限问题,需要重新连接到副本集上的主要mongo实例