sql >> Database >  >> NoSQL >> MongoDB

mangoest aggregaat met $exists in $cond

$exists niet ondersteund in aggregate zoekopdracht van MongoDB . Dus in aggregate query in plaats van $exists kan $ifNull . gebruiken .

syntaxis:

{ $ifNull: [ <expression>, <replacement-expression-if-null> ] }

voor meer

Bijgewerkt:

om b . te krijgen waarde als true of false kan deze zoekopdracht proberen

db.test.aggregate([
    {
        $project: {
            b: { 
                $cond: [
                    {$ifNull: ['$b', false]}, // if
                    true, // then
                    false // else
                ]
            }
        }
    }
])

Uitleg:

b = $cond: [ 'if condition satisfied', 'then true', 'else false' ];

waarbij condition = {$ifNull: ['$b', false]} Hier als $b bestaat niet dan condition = false anders condition = true .

dus als condition = true retourneer dan dan resultaat dat betekent b = true
if condition = false retourneer dan anders resultaat betekent b = false



  1. Hoe u uw functie kunt bekijkenCompatibilityVersion in MongoDB

  2. MongoDB db.collection.count()

  3. Hernoem ObjectId _id naar id in Jackson deserialisatie met Jongo en MongoDB

  4. Hoe kan ik met mongodb een aantal records per specifiek veld selecteren?