什么"警告:ClientCursor :: yield无法解锁b / c的递归锁定"手段?

时间:2014-12-15 05:58:51

标签: mongodb mongodb-query

我有一个集合,说" resource.pool",它模拟资源池。 有2种资源状态: 1.免费,这意味着我们可以通过将其标志设置为OCCUPIED来获取此资源(使用findAndModify) 2. OCCUPIED,表示资源已被另一个进程占用。但如果它处于OCCUPIED状态太长时间,我们可以通过检查是否currentTime - lastFreeTime >= expiredAge来获取它。

为了获取一个资源,我计划1个查询:expiredAge是600000毫秒。

db.resource.pool.findAndModify({
 groupId:"groupId",
 $or :[{state:"FREE"},{state:{$ne:"FREE"}, $where:"currentTime - this.lastFreeTime >= 600000"}]
},{state:"OCCUPIED, lastFreeTime:currentTime})

该查询始终显示在mongodb.log文件中,并且每秒生成1-3个警告。这个警告是什么意思?

请注意,我使用$ where来评估javascript。我还创建了groupId和state的索引。

0 个答案:

没有答案