1. 程式人生 > >mongodb java操作常用寫法

mongodb java操作常用寫法

tro next() print iterator tcollect class span strong 集合

  MongoDB 將數據存儲為一個文檔,數據結構由鍵值(key=>value)對組成。MongoDB 文檔類似於 JSON 對象。字段值可以包含其他文檔,數組及文檔數組。下面介紹的是用java操作MongoDB的一些常用寫法。

  1.引用java操作MongoDB驅動包

 <dependency>
   <groupId>org.mongodb</groupId>
   <artifactId>mongo-java-driver</artifactId>
   <version>3.6.0</version>
 </dependency>

  2.java操作MongoDB一些常用寫法

public class MongoDBTest
{
    //定義一個客戶端
    private MongoClient   client   = null;
    
    //定義一個MongoDB數據庫
    private MongoDatabase database = null;
    
    @Before
    public void init()
    {
        //連接MongoDB客戶端
        client = new MongoClient("127.0.0.1", 27017);
        
//使用數據庫mongoDataBase database = client.getDatabase("mongoDataBase"); } /** * * @描述:向user集合中添加一條數據 */ @Test public void testInsertOne() { //獲取user集合 MongoCollection<Document> collection = database.getCollection("user"); Document document
= new Document(); document.append("userName", "jack"); document.append("age", 23); document.append("sex", "男"); collection.insertOne(document); } /** * * @描述:向user集合中添加多條數據 */ @Test public void testInsertMany() { //獲取user集合 MongoCollection<Document> userCollection = database.getCollection("user"); //定義多個Document對象 Document document1 = new Document("userName", "lily"); document1.append("age", 24); document1.append("sex", "男"); Document document2 = new Document("userName", "mary"); document2.append("age", 30); document2.append("sex", "女"); Document document3 = new Document("userName", "小吳"); document3.append("age", 27); document3.append("sex", "男"); userCollection.insertMany(Arrays.asList(document1, document2, document3)); } /** * * @描述:刪除user集合中數據 */ @Test public void remove() { //獲取user集合 MongoCollection<Document> userCollection = database.getCollection("user"); //執行刪除的方法(刪除age=23的所有人) //構造刪除條件 Bson delBson = Filters.eq("age", 23); //一次性刪除所有符合條件的數據(刪除age=23的所有人) userCollection.deleteMany(delBson); } /** * * @描述:刪除user集合中數據(帶多個刪除條件的) */ @Test public void remove2() { //獲取users集合 MongoCollection<Document> userCollection = database.getCollection("user"); //執行刪除的方法(刪除age>=20 並且 age<=30的所有人) //構造刪除條件(age>=20) Bson delBson1 = Filters.gte("age", 20); //構造刪除條件(age<=30) Bson delBson2 = Filters.lte("age", 30); //合並刪除條件 Bson delBson = Filters.and(delBson1, delBson2); userCollection.deleteMany(delBson); } /** * * @描述:查詢出user集合中所有數據 */ @Test public void testGetAll2() { //獲取user集合 MongoCollection<Document> userCollection = database.getCollection("user"); //查詢所有文檔 FindIterable<Document> allDocuments = userCollection.find(); //獲取叠代器 MongoCursor<Document> iterator = allDocuments.iterator(); while (iterator.hasNext()) { Document document = iterator.next(); System.out.println(document); } } /** * * @描述:有條件查詢user集合數據 */ @Test public void testGet() { //獲取users集合 MongoCollection<Document> userCollection = database.getCollection("user"); //查詢age>=25 並且age <=30的人 Bson queryBson = Filters.and(Filters.gte("age", 25), Filters.lte("age", 30)); FindIterable<Document> allDocuments = userCollection.find(Filters.and(queryBson)); //獲取叠代器 MongoCursor<Document> iterator = allDocuments.iterator(); while (iterator.hasNext()) { Document document = iterator.next(); System.out.println(document); } } /** * * @描述:分頁查詢出users集合中的數據 */ @Test public void testGet2() { //獲取users集合 MongoCollection<Document> userCollection = database.getCollection("user"); //查詢前兩個數據,skip(0):跳過0個,limit(2)查詢2個 FindIterable<Document> allDocuments = userCollection.find(); FindIterable<Document> page = allDocuments.skip(0).limit(2); //獲取叠代器 MongoCursor<Document> iterator = page.iterator(); while (iterator.hasNext()) { Document document = iterator.next(); System.out.println(document); } } /** * * @描述:修改操作 */ @Test public void update() { //獲取user集合 MongoCollection<Document> userCollection = database.getCollection("user"); ////修改 將userName為"lily" 的age改為25 //db.users.update({"userName":"lily"},{$set:{"age":25}}); //條件 Bson eqBson = Filters.eq("userName", "lily"); //要修改的內容 Document updateBson = new Document("$set", new Document("age", 25)); UpdateResult updateMany = userCollection.updateMany(eqBson, updateBson); System.out.println(updateMany.toString()); } @After public void close() { client.close(); } }

註意:本文僅代表個人理解和看法喲!和本人所在公司和團體無任何關系!

mongodb java操作常用寫法