MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Testen Sie eine leere Zeichenfolge in Mongodb und Pymongo

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

In der Mongo-Shell (ID aus Platzgründen weggelassen)

> 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 }

Falls Sie auch Übereinstimmungen mit Nullwerten herausfiltern möchten, müssen Sie die Kriterien wie folgt anpassen (wir können $exists auch als "$ne" loswerden:null kümmert sich darum)

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