2016-05-26 15 views
0

Javaからmongoを照会する方法を調べています。これを照会する方法がいくつか見つかりました。ニュアンスが不足しているかどうかはわかりません。クエリ、またはそれらは同じです。いくつかの特定のフィールドを照会する方法

collection.find().projection(fields(include("x", "y"), excludeId())) 

そして私は、これは動作するはずと言われてきた:

は、これまでのところ私は、JavaのドライバV3.2のために、これを見つけた

BasicDBobject query = new BasicDBObject("x", x).append("y", y);//This example may not compile, I haven't tried it, I'm more talking about the idea and concept. 

(検索して行くだろう。このクエリ)、findOne()、distinct()などがあります。

 String fields = "averageSpeed"; 
     coll = db.getCollection(strMongoCollection); 
     coll.find(fields, query)); 

どちらのアプローチも正しいですか?またはその目的は別物です

答えて

1

あなたはいつもあなた自身が古い扱いにくいBsonオブジェクトを使用するオプションを持っていますが、3.2ドライバの場合、私はむしろFiltersおよびProjectionsヘルパークラスを使用します。新しいのよりエレガントなコードは別に

collection.find(Filters.eq("myfield", "myvalue")) 
    .projection(Projections.include("myfield", "anotherfield")) 

このように、いくつかの基準を持つ単純な検索だけで特定のフィールドを選択するための

collection.find(Filters.eq("myfield", "myvalue")) 

として送信することができ、あなたは、投影を追加しますAPIでは、クエリはBasicDBObjectベースの呼び出しと同じです。

関連する問題