|
ps = db.runCommand({"findAndModify":processes,
..."query":{"status":"READY"},
..."sort":{"priority":-1},
..."update":{"$set":{"status":"RUNNING"}}}).value
do_something(ps)
db.process.update({"_id":ps._id},{"$set":{"status":"DONE"}})
#findAndModify命令中每个键的对应值:
findAndModify:字符串,集合名
query:查询文档,用来检索文档的条件
sort:排序结果的条件
update:修改器文档,对所找到的文档执行的更新
remove:布尔类型,表示是否删除文档
new:布尔类型,表示返回的是更新前的文档还是更新后的文档,默认是更新前的文档
#findAndModify命令的限制:
#"update"和"remove"必须有一个,也只能有一个;
#若匹配不到文档,则返回错误
#一次只能处理一个文档,也不能执行upsert操作,只能更新已有文档
|
|
|