MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как мога да проверя дали поле съществува или не в MongoDB?

Можете да използвате $exists оператор в комбинация с . нотация. Голата заявка в mongo-shell трябва да изглежда така:

db.yourcollection.find({ 'otherInfo.text' : { '$exists' : true }})

И тестов случай в Java може да изглежда така:

    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());

Изход:

1
{ "_id" : { "$oid" : "4f809e72764d280cf6ee6099"} , "name" : "second" , "otherInfo" : { "text" : "sometext"}}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. spring data mongodb група от

  2. MongoDB - Развийте масив с помощта на агрегиране и премахнете дубликатите

  3. Как да покажа изображението на base64 в реакция?

  4. Ограничение на дълбочината на полето на вложените в MongoDB обекти

  5. MongoDB:проверете връзката с DB