sql >> Databáze >  >> NoSQL >> MongoDB

Mongo $in se složeným indexem

Protože jste již vytvořili složený index pro (a, b) , všechny vaše výrazy klauzulí jsou podporovány indexy -> mongo bude místo skenování kolekce používat index scan. Pravděpodobně je to dost rychlé.

Reference:$or klauzule a indexy

Nyní k vaší otázce

$in zápas celé pole. Pokud chcete odpovídat (a,b) pak samozřejmě (a,b) pro vyhledávání pomocí $in se musí stát vloženým objektem .

Nejste si jisti, zda vytvoření vloženého objektu vyhovuje vašemu aktuálnímu schématu / požadavku. Ale pokud tomu tak je, $in je známý pro lepší výkon ve srovnání s $or :

V tomto případě, pokud máte vložený objekt jako:{e: {a: 'x', b: 'y'}} pak db.collections.createIndex({e: 1}) spárováno s $in věci urychlí




  1. Koncepce vývoje aplikací Cloudera Operational Database

  2. node.js nemůže najít modul 'mongodb'

  3. MongoDB:$push vypočítaný výraz ve skupině $

  4. Nabídka mean.js isPublic nefunguje