update和findAndModify都可以用做更新操作;\x0d\x0a区别\x0d\x0afindAndModify是有返回值的,输出中的value字段即返回修改之前的文档,使用 new:true选项返回修改后的文档。 update是更新操作,是没有返回值的。\x0d\x0afindAndModify 强调操作的原子性(atomically),比如用来实现自增1的操作或者操作队列。属于 get-and-set 式的操作,一般来讲,findAndModify 比update操作稍慢,因为需要等待数据库的响应。\x0d\x0a另外findAndModify ,其中modify可以是update,还可以是remove\x0d\x0a{\x0d\x0a findAndModify: ,\x0d\x0a query: ,\x0d\x0a sort: ,\x0d\x0a remove: ,\x0d\x0a update: ,\x0d\x0a new: ,\x0d\x0a fields: ,\x0d\x0a upsert: \x0d\x0a}