MongoDB:获取;客户游标::收益率可以';t解锁递归锁的b/c“;在两个流程实例中使用findAndModify时出现警告
我正在使用: MongoDB 1.6.4、Python 2.6.6、PyMongo 1.9、Ubuntu 10.10 我得到“客户端游标::收益率无法解锁递归锁的b/c” 在两个流程实例中使用findAndModify时,我的日志中经常出现警告。 当我只使用一个进程时,不会出现警告 我怎样才能解决这个问题 **2013年3月8日更新** 到目前为止,这个问题有解决办法吗MongoDB:获取;客户游标::收益率可以';t解锁递归锁的b/c“;在两个流程实例中使用findAndModify时出现警告,mongodb,Mongodb,我正在使用: MongoDB 1.6.4、Python 2.6.6、PyMongo 1.9、Ubuntu 10.10 我得到“客户端游标::收益率无法解锁递归锁的b/c” 在两个流程实例中使用findAndModify时,我的日志中经常出现警告。 当我只使用一个进程时,不会出现警告 我怎样才能解决这个问题 **2013年3月8日更新** 到目前为止,这个问题有解决办法吗 这通常意味着你失踪了 查询中使用的字段的索引 我不知道这方面的技术细节 警告但根据我的经验 查询字段上的索引有帮助。检查 在中
这通常意味着你失踪了 查询中使用的字段的索引
我不知道这方面的技术细节 警告但根据我的经验 查询字段上的索引有帮助。检查 在中使用的字段上有索引 findAndModify的查询部分。也运行 db.collection.find().explain() 检查它是否使用索引
感谢世卫组织帮助解决了这个问题。Mongo人说你可以忽略这个警告——看这个。它处理两个试图访问互斥体的进程(因此您只能在多进程实例中看到它) 我们肯定知道这个问题——我们正在讨论最好的方法 来处理这些信息。虚假的日志条目 应该很快在新版本中取消
关于@Creotiv答案。是的,如果速度很慢——90%的时候你缺少一个索引,这通常意味着你缺少查询中使用的字段的索引。但我没有使用排序。或者如果结果被分页,我必须创建索引?我不知道此警告的技术细节,但根据我的经验,在查询字段中添加索引会有所帮助。检查您是否对findAndModify的查询部分中使用的字段建立了索引。同时运行
db.collection.find().explain()
检查它是否使用索引。谢谢您的回答。这有助于我的mongod挂断,并在登录后立即停止。我没有使用查找和修改。到处都是发现和发现。有关于避免挂断电话的信息吗?谢谢。在我的情况下,需要解决这个问题。