J'essaie donc de trouver tous les enregistrements qui ont un champ défini et qui ne sont pas nuls.
J'essaie d'utiliser $exists
; cependant, selon la documentation MongoDB, cette requête retournera des champs égaux à null.
$exists
correspond aux documents contenant le champ qui stocke la valeur null.
Donc, je suppose maintenant que je vais devoir faire quelque chose comme ceci:
db.collection.find({ "fieldToCheck" : { $exists : true, $not : null } })
Cependant, chaque fois que j'essaie, j'obtiens le message d'erreur [invalid use of $not]
.
Utilisez $ne
(pour "pas égal")
db.collection.find({ "fieldToCheck": { $exists: true, $ne: null } })
Supposons que nous ayons une collection comme ci-dessous:
{
"_id":"1234"
"open":"Yes"
"things":{
"paper":1234
"bottle":"Available"
"bottle_count":40
}
}
Nous voulons savoir si le champ de la bouteille est présent ou non?
Ans:
db.products.find({"things.bottle":{"$exists":true}})
je trouve que cela fonctionne pour moi
db.getCollection('collectionName').findOne({"fieldName" : {$ne: null}})