sql >> Databáze >  >> NoSQL >> MongoDB

Jak mohu zkontrolovat, zda pole v MongoDB existuje nebo ne?

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


  1. Jak pokračovat ve vkládání po chybě duplicitního klíče pomocí PyMongo

  2. Jak formátovat data v Modelu před uložením v Mongoose (ExpressJS)

  3. Websocket odpojen Připojení volání se nezdařilo

  4. Jak odstranit všechna data v Redis