1

Java mongodb クライアントを使用して照会しているテスト データがいくつかあります。私はプラットフォームに慣れてきたばかりで、いくつかの基本的なクエリを正常に実行できました。

public class returnJSON {

    public static void main(String[] args) {

        try {
            MongoClient mongoClient = new MongoClient("localhost", 27017);
            DB db = mongoClient.getDB("test");

            DBCollection table = db.getCollection("zips");

            BasicDBObject searchQuery = new BasicDBObject();
            searchQuery.put("pop", new BasicDBObject("$gt", 25000).append("$lt", 26000));

            DBCursor cursor = table.find(searchQuery);

            while (cursor.hasNext()) {
                System.out.println(cursor.next());
            }
            cursor.close();

        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

ただし、私がやりたいことは、Java クライアントが提供する標準出力を有効にすることです..

{
    "city": "HUNTSVILLE",
    "loc": [
        -86.567318,
        34.726866
    ],
    "pop": 25513,
    "state": "AL",
    "_id": "35801"
}
{
    "city": "MONTGOMERY",
    "loc": [
        -86.243394,
        32.383443
    ],
    "pop": 25282,
    "state": "AL",
    "_id": "36109"
}

必要なビットだけに、つまり

{ 
    "city" : "HUNTSVILLE" , 
    "pop" : 25513 
}

{
    "city" : "MONTGOMERY" ,
    "pop" : 25282 
}

BSON と MongoJack について何か見たことがありますが、それらが必要かどうかはよくわかりません。

最終的には、この情報を REST サービス経由で利用できるようにする計画ですが、それは後で別の質問になります。

どうもありがとう。

4

1 に答える 1

1

OK、掘り下げた後、私が必要としていたのはこれであることがわかりました...

    BasicDBObject searchQuery = new BasicDBObject();
    BasicDBObject fields = new BasicDBObject();

    searchQuery.put("pop", new BasicBSONObject("$gt", 25000).append("$lt", 25100));
    fields.put("city", 1);
    fields.put("pop", 1);
    fields.put("_id", 0);

    DBCursor cursor = table.find(searchQuery, fields);

これが返ってきた…

{ "都市": "フォート オード", "ポップ": 25009} { "都市": "レイクウッド", "ポップ": 25008}

これはまさに私が必要としていたものでした。

于 2013-07-20T10:05:57.220 に答える