2016-05-25 2 views
0

私は、以下の情報を取得したいと思います:

delete from database where name = 'AAA' and age>20; 

が、JavaでのMongoDBのため

。基本的に、それは言葉 AAAとその中の20より大きな年齢が含まれている文書を削除する必要があります。私はMongoDBの中 $inオペレータがあることを知っているが、私はJavaのドライバを使用して、Javaで同じことをどのように行うのですか?私はどこでもそれを探していましたが、何も得ていません。私は試しました:

query = new BasicDBObject("age", new BasicDBObject("$gt", "20"), new BasicDBObject("name", "AAA")); 

削除したいJSONはこのようなものです。何をしたい

{"school" : "NewSchool" , "name" : "AAA" , "age" : "50"} 

答えて

0

は、find-用語です:

{ 
    "name" : "AAA", 
    "age" : { $gt : 20 } 
} 

は、あなたの基本的なDBオブジェクトとしてこれを構築し、または単にあなたのためのBSONを作成するために、新しい3.xのフィルタを使用しています。 (私は個人的にのみ3.xのを使用しているため、ここでの適切な例です):

MongoClient client = ... 
MongoDatabase db = client.getDatabase(...); 
MongoCollection<Document> coll = db.getCollection(...); 
coll.deleteMany(Filters.and(Filters.eq("name", "AAA"), Filters.gt("age", 20))); 
関連する問題