1:在测试接口性能的时候,用mongostats查看了下mongo的性能,用的同一数据库的不同document,但字段值显示不符合预期,
第一个接口是find_one,document假设为d1,可以看到query有值,而command正常显示(如果是insert_one,insert的值也显示正常)
第二个接口是find_one_and_update,并且upsert=true,document假设为d2,如果不存在就插入,这里的显示就比较怪了,query为0,并且插入为0,但是command值很大,d2也确实有数据增加了,并且有更新
看了下官方文档并没有找到答案,谁有研究过吗?
本质上所有的操作都是Command。但是为了更有意义一下,单独把insert/find/update/remove拿出来变成了insert/query/update/delete显示。而getmore是find的数据太多时分批取数据的命令。可以认为除了这些以外的所有操作都是command。
可以看一下
findAndModify
具体执行的是什么动作:可见对应的Command是
findandmodify
,并不在CRUD之列,所以被统一归为command。