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. 3週間でイベントソーシングとCQRSアーキテクチャに加えてHBaseをアップグレード

    2. ハウツー:一般的なツールを使用してHBaseアプリケーションをテストする

    3. Mongo集計複数の値に一致

    4. MongoDBサーバーのディスクスペースの理解と管理