Můžete použít $exists
operátor v kombinaci s .
notový zápis. Samotný dotaz v mongo-shell by měl vypadat takto:
db.yourcollection.find({ 'otherInfo.text' : { '$exists' : true }})
A testovací případ v Javě by mohl vypadat takto:
BasicDBObject dbo = new BasicDBObject();
dbo.put("name", "first");
collection.insert(dbo);
dbo.put("_id", null);
dbo.put("name", "second");
dbo.put("otherInfo", new BasicDBObject("text", "sometext"));
collection.insert(dbo);
DBObject query = new BasicDBObject("otherInfo.text", new BasicDBObject("$exists", true));
DBCursor result = collection.find(query);
System.out.println(result.size());
System.out.println(result.iterator().next());
Výstup:
1
{ "_id" : { "$oid" : "4f809e72764d280cf6ee6099"} , "name" : "second" , "otherInfo" : { "text" : "sometext"}}