[英]mongod db query by _id with restrictive option
假設我知道我要更新的文檔的_id
值,但是僅當user
字段等於某個值時,我才希望對其進行更新。 這是正確的方法嗎
collection.update({_ id:'1',user:'correct_user'},data)嗎?
我是否需要為此任務創建一些其他索引?
是的,只有_id
和user
匹配時,它才會更新。
由於您要匹配的精確_id
始終是唯一的,因此對user
的索引並不能真正改善查詢,因為最后最多只有一個user
值可以與之進行比較。
> collection.find({_id: '1', user: 'correct user'}).explain()
{
"cursor" : "BtreeCursor _id_",
"isMultiKey" : false,
"n" : 1,
"nscannedObjects" : 1, // Only a single object is scanned
"nscanned" : 1,
"nscannedObjectsAllPlans" : 1,
"nscannedAllPlans" : 1,
...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.