sql >> Database >  >> NoSQL >> MongoDB

vakbond op dezelfde collectie in mongodb

De MongoDB-operator die het dichtst in de buurt komt van wat u zoekt, is een $or , maar dat is niet helemaal hetzelfde als een SQL UNION die twee afzonderlijke query's in één resultaat combineert. MongoDB-query's zijn altijd gericht tegen een enkele verzameling, maar $or stelt u in staat om meerdere query-clausules te hebben.

Bijvoorbeeld:

db.collection.find(
    // Find documents matching any of these values
    {$or:[
        {var1: 123},
        {var2: 456},
        {var3: 789}
    ]}
).sort(
    // Sort in ascending order
    {var1:1, var2:1, var3:1}
)

Aangezien u beperkt bent tot het opvragen van een enkele verzameling, worden de resultaten al gededupliceerd op documentniveau en zullen alle resultaten dezelfde sorteervolgorde hebben als er een is opgegeven.

Als u een UNION (of een andere bewerking die met meerdere verzamelingen/query's werkt) in MongoDB wilt simuleren, moet u meerdere query's schrijven en de resultatensets samenvoegen in uw toepassingscode.




  1. MongoDB:hoe de datum te ontleden in 3.6 mongoDb-versie?

  2. Hoe een reeks objecten in Redis op te slaan?

  3. Installeer phpredis MAC OSX

  4. Python-database programmeren met MongoDB voor beginners