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

MongoDB:Porovnejte více prvků pole

V případě, jako je tento, chcete-li dokumenty obsahující konkrétní sadu prvků pole, můžete použít $all operátor:

db.MyCollection.find(
{ 
    Location: { "$within": { "$center": [ [1, 1], 5 ] } },
    Properties: {
        $all: [
            {$elemMatch: { Type: 1, Value: "a" }},
            {$elemMatch: { Type: 2, Value: "b" }}
        ]
    }
})

Chcete-li to provést bez $all operátor, kterého byste mohli použít:

db.MyCollection.find(
{ 
    Location: { "$within": { "$center": [ [1, 1], 5 ] } },
    $and: [
        { Properties: {
            $elemMatch: { Type: 1, Value: "a" }
        }},
        { Properties: {
            $elemMatch: { Type: 2, Value: "b" }
        }}
    ]
})



  1. Ukládejte související klíče jako OID nebo řetězce v MongoDB

  2. Najděte duplicitní adresy URL v mongodb

  3. vnořená struktura dotazu mongodb

  4. Odfiltrujte duplicitní pole a vraťte jedinečné pole v agregaci mongodb