MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Testa la stringa vuota in mongodb e pymongo

db.collection.find({"lastname" : {"$exists" : true, "$ne" : ""}})

Nella mongo shell (l'id è omesso per risparmiare spazio)

> db.collection.find()
  { "name" : "Angela" }
  { "name" : "David", "lastname" : "" }
  { "name" : "Kyle",  "lastname" : "Test" }
  { "name" : "John",  "lastname" : null }

> db.collection.find({"lastname" : {"$exists" : true, "$ne" : ""}})
  { "name" : "Kyle", "lastname" : "Test" }
  { "name" : "John",  "lastname" : null }

Nel caso in cui desideri anche filtrare le corrispondenze rispetto a valori nulli, devi regolare i criteri come segue (possiamo anche eliminare $exists come "$ne":null si occupa di questo)

> db.collection.find({$and:[{"lastname": {"$ne": null}}, {"lastname": {"$ne": ""}}]})
  { "name" : "Kyle", "lastname" : "Test" }