texto - mongodb consultas anidadas
Compruebe que el campo exista con MongoDB (4)
Encuentro que esto funciona para mí
db.getCollection(''collectionName'').findOne({"fieldName" : {$ne: null}})
Así que estoy tratando de encontrar todos los registros que tienen un campo configurado y no es nulo.
Intento usar $exists
, sin embargo, según la documentación de MongoDB, esta consulta arrojará campos que sean nulos.
$exists
no coincide con los documentos que contienen el campo que almacena el valor nulo.
Así que ahora estoy asumiendo que tendré que hacer algo como esto:
db.collection.find({ "fieldToCheck" : { $exists : true, $not : null } })
Sin embargo, cada vez que pruebo esto, obtengo el error [invalid use of $not]
Alguien tiene una idea de cómo consultar esto?
Puedes usar .Count()
count, err = collection.Find(bson.M{field: value}).Count()
pero recuerda establecer:
db.SetSafe(&mgo.Safe{})
De lo contrario, devolverá 0 en cada llamada.
Supongamos que tenemos una colección como la siguiente:
{
"_id":"1234"
"open":"Yes"
"things":{
"paper":1234
"bottle":"Available"
"bottle_count":40
}
}
Queremos saber si el campo de la botella está presente o no?
Ans:
db.products.find({"things.bottle":{"$exists":true}})
Use $ne
(para "no igual")
db.collection.find({ "fieldToCheck": { $exists: true, $ne: null } })