ホームページ > Java > &#&チュートリアル > Java で MongoDB に接続する一般的な方法の分析例

Java で MongoDB に接続する一般的な方法の分析例

WBOY
リリース: 2023-05-26 19:06:50
転載
3279 人が閲覧しました

1. MongoDB への Java リンク

1. Mongo ドライバー パッケージをインポートします

Java で MongoDB に接続する一般的な方法の分析例

2. Mongo リンク オブジェクトを取得します

MongoClient mc = new MongoClient("localhost",27017);
ログイン後にコピー

3. リンクを閉じます

mc.close();
ログイン後にコピー

2. ライブラリを表示し、コレクションを表示します

1. ライブラリ オブジェクトを取得します

MongoDatabase db = mc.getDatabase("myschool");
ログイン後にコピー

2. テーブルのコレクションを取得しますlibrary

MongoIterable<String> listCollectionNames = db.listCollectionNames();
        
MongoCursor<String> iterator = listCollectionNames.iterator();
    while (iterator.hasNext()) {
        System.out.println(iterator.next());
    }
ログイン後にコピー

3 、Java は MongoDB クエリを追加、削除、および変更します

1. データを追加します

#a. データを 1 つ追加します

#

//创建对象
Student s = new Student();
s.setSid(1);
s.setSname("王俊凯");
s.setBirthday(new Date());
s.setSsex("男");
s.setClassid(2);
 
//将数据转换为json格式
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
String json = gson.toJson(s);
 
//获取集合对象
MongoCollection<Document> collection = db.getCollection("student");
 
//添加一条数据,将json格式转换为document对象
collection.insertOne(Document.parse(json));
ログイン後にコピー

b。複数のデータを追加

//存入数据
List<Document> dlist=new ArrayList<Document>();
 
for(int i=0; i<3; i++){
    Student s = new Student();
    s.setSid(Integer.toString(i+1));
    s.setSname("王源");
    s.setBirthday(new Date());
    s.setSsex("男");
    s.setClassid(1);
    //将数据转换为json格式
    Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
    String json = gson.toJson(s);
    dlist.add(Document.parse(json));
}
 
//获取集合对象
MongoCollection<Document> collection = db.getCollection("student");
 
//添加多条数据
collection.insertMany(dlist);
ログイン後にコピー

2.データを削除

a.1つのデータを削除

//获取集合对象
MongoCollection<Document> collection = db.getCollection("student");
 
Student s = new Student();
s.setSid(1);
 
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
Bson bson = Document.parse(gson.toJson(s));
 
DeleteResult deleteOne = collection.deleteOne(bson);
ログイン後にコピー

b.複数のデータを削除

//获取集合对象
MongoCollection<Document> collection = db.getCollection("student");
 
Student s = new Student();
s.setSname("王源");
 
Gson gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
Bson bson = Document.parse(gson.toJson(s));
 
DeleteResult deleteMany = collection.deleteMany(bson);
ログイン後にコピー

3. データの変更

a. 1 つのデータの変更

MongoCollection<Document> collection = db.getCollection("student");
 
//一个条件对象
Bson eq = Filters.eq("sname","易烊千玺");
 
//要修改的数据
Document doc = new Document();
doc.put("$set", new Document("age",22));
UpdateResult  updateone = collection.updateOne(eq, doc);
System.out.println(updateone);
ログイン後にコピー

b. 複数のデータの変更

#

MongoCollection<Document> collection = db.getCollection("student");
 
//多条件
Bson bson = Filters.and(Filters.gte("age", 20),Filters.lte("age", 40));
        
//要修改的数据
Document doc = new Document();        
doc.put("$set", new Document("sex","男"));
UpdateResult updateMany = collection.updateMany(bson, doc);
System.out.println(updateMany);
ログイン後にコピー

4. データのクエリ

#a.すべて検索

MongoCollection<Document> collection = db.getCollection("student");
 
FindIterable<Document> findAll = collection.find();
 
MongoCursor<Document> iterator = findAll.iterator();
 
while(iterator.hasNext()){
   System.out.println(iterator.next()); 
}
ログイン後にコピー

b. 条件付きクエリ

MongoCollection<Document> collection = db.getCollection("student");
 
//一个条件对象
Bson eq = Filters.eq("sname","易烊千玺");
 
FindIterable<Document> findOne = collection.find(eq);
 
MongoCursor<Document> iterator = findOne.iterator();
 
while(iterator.hasNext()){
   System.out.println(iterator.next()); 
}
ログイン後にコピー

c. ファジークエリ

MongoCollection<Document> collection = db.getCollection("student");
 
//使用正则表达式进行模糊查找
Bson eq = Filters.regex("sname","易");
 
FindIterable<Document> find = collection.find(eq);
 
MongoCursor<Document> iterator = find.iterator();
 
while(iterator.hasNext()){
   System.out.println(iterator.next()); 
}
ログイン後にコピー

d. ページングクエリ

MongoCollection<Document> collection = db.getCollection("student");
 
//分页查询
FindIterable<Document> find = collection.find().skip(2).limit(3);
 
MongoCursor<Document> iterator = find.iterator();
 
while(iterator.hasNext()){
   System.out.println(iterator.next()); 
}
ログイン後にコピー
e. 並べ替えクエリ

リーリー

以上がJava で MongoDB に接続する一般的な方法の分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート