sql >> Databasteknik >  >> NoSQL >> MongoDB

mongodb hur frågar man med nand-operatören?

Operatorn $not inverterar inte ett komplext uttryck. Du måste använda $and eller $or för komplexa uttryck.

Med hjälp av logiska regler vet vi att följande är identiska:

    not ( A and B ) = not A or not B

Om du använder MongoDB-frågespråket skulle du ha:

db.collection.find({$or:[{"a":{"$ne":false}},{"b":{"$ne":"condition"}}]})

OR simplifying the double boolean:

db.collection.find({$or:[{"a":true},{"b":{"$ne":"condition"}}]})

Med MongoDB-aggregationsramverket skulle du ha:

db.collection.aggregate([{"$match":{$or:[{"a":{"$ne":false}},{"b":{"$ne":"condition"}}]}}])

OR again, simplified to:

db.collection.aggregate([{"$match":{$or:[{"a":true},{"b":{"$ne":"condition"}}]}}])


  1. Mongoose Virtuals i MongoDB Aggregate

  2. MongoDB fråga IN array av objekt

  3. MongoDB Count() vs. Aggregation

  4. bryggtjänster. Kan inte starta tjänsten. Get Bootstrap misslyckades:5:Input/output-fel