indexing - Understanding mongodb find query more -


just quick question in relation following mongodb query:

var queryparams = {         $or: [             {'stats.created_by': userid},             {'user_list.user_id': userid},             {'invite_list.user_id': userid},             {'invite_list.email': useremail}         ],         deleted: false     }; 

this query given itemmodel.find(queryparams); - im trying understand table scan impact here? understanding full scan based on deleted attribute , filter on $or clause.

ok, ran following explain , items scanned index on deleted.

db.items.find({$or: [             {'stats.created_by': '559cd76338e42c533a83b8a7'},             {'user_list.user_id': '559cd76338e42c533a83b8a7'},             {'invite_list.user_id': '559cd76338e42c533a83b8a7'},             {'invite_list.email': 'some@something.com'}         ],         deleted: false}).explain(); 

can make improvements here?

thanks.

j

db.getcollection('items').createindex({ deleted: 1 }); speeds query , ignores $or since filter on result set. might @ making query more restrictive.


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -