MongoDB基本用法(增删改高级查询、mapreduce)

TestCase.java

Java代码   收藏代码
  1. package com.wujintao.mongo;  
  2.   
  3. import java.net.UnknownHostException;  
  4. import java.util.ArrayList;  
  5. import java.util.List;  
  6. import java.util.Set;  
  7. import java.util.regex.Pattern;  
  8.   
  9. import org.junit.Test;  
  10.   
  11. import com.mongodb.AggregationOutput;  
  12. import com.mongodb.BasicDBList;  
  13. import com.mongodb.BasicDBObject;  
  14. import com.mongodb.BasicDBObjectBuilder;  
  15. import com.mongodb.DB;  
  16. import com.mongodb.DBCollection;  
  17. import com.mongodb.DBCursor;  
  18. import com.mongodb.DBObject;  
  19. import com.mongodb.MapReduceCommand;  
  20. import com.mongodb.MapReduceOutput;  
  21. import com.mongodb.Mongo;  
  22. import com.mongodb.QueryBuilder;  
  23. import com.mongodb.WriteConcern;  
  24.   
  25. public class TestCase {  
  26.        //DBCursor cursor = coll.find(condition).addOption(Bytes.QUERYOPTION_NOTIMEOUT);//设置游标不要超时  
  27.   
  28.     @Test  
  29.     /** 
  30.      * 获取所有数据库实例 
  31.      */  
  32.     public void testGetDBS() {  
  33.         List<String> dbnames = MongoUtil.getMong().getDatabaseNames();  
  34.         for (String dbname : dbnames) {  
  35.             System.out.println("dbname:" + dbname);  
  36.         }  
  37.     }  
  38.   
  39.     @Test  
  40.     /** 
  41.      * 删除数据库 
  42.      */  
  43.     public void dropDatabase() {  
  44.         MongoUtil.getMong().dropDatabase("my_new_db");  
  45.     }  
  46.   
  47.     @Test  
  48.     /** 
  49.      * 查询所有表名 
  50.      */  
  51.     public void getAllCollections() {  
  52.         Set<String> colls = MongoUtil.getDB().getCollectionNames();  
  53.         for (String s : colls) {  
  54.             System.out.println(s);  
  55.         }  
  56.     }  
  57.   
  58.     @Test  
  59.     public void dropCollection() {  
  60.         MongoUtil.getColl("jellonwu").drop();  
  61.     }  
  62.   
  63.     /** 
  64.      * 添加一条记录 
  65.      */  
  66.     @Test  
  67.     public void addData() {  
  68.         DBCollection coll = MongoUtil.getColl("wujintao");  
  69.         BasicDBObject doc = new BasicDBObject();  
  70.         doc.put("name""MongoDB");  
  71.         doc.put("type""database");  
  72.         doc.put("count"1);  
  73.   
  74.         BasicDBObject info = new BasicDBObject();  
  75.         info.put("x"203);  
  76.         info.put("y"102);  
  77.         doc.put("info", info);  
  78.         coll.insert(doc);  
  79.         // 设定write concern,以便操作失败时得到提示  
  80.         coll.setWriteConcern(WriteConcern.SAFE);  
  81.     }  
  82.   
  83.     @Test  
  84.     /** 
  85.      * 创建索引 
  86.      */  
  87.     public void createIndex() {  
  88.         MongoUtil.getColl("wujintao").createIndex(new BasicDBObject("i"1));  
  89.     }  
  90.   
  91.     @Test  
  92.     /** 
  93.      * 获取索引信息 
  94.      */  
  95.     public void getIndexInfo() {  
  96.         List<DBObject> list = MongoUtil.getColl("hems_online").getIndexInfo();  
  97.         for (DBObject o : list) {  
  98.             System.out.println(o);  
  99.         }  
  100.     }  
  101.   
  102.     @Test  
  103.     /** 
  104.      * 添加多条记录 
  105.      */  
  106.     public void addMultiData() {  
  107.         for (int i = 0; i < 100; i++) {  
  108.             MongoUtil.getColl("wujintao").insert(  
  109.                     new BasicDBObject().append("i", i));  
  110.         }  
  111.   
  112.         List<DBObject> docs = new ArrayList<DBObject>();  
  113.         for (int i = 0; i < 50; i++) {  
  114.             docs.add(new BasicDBObject().append("i", i));  
  115.         }  
  116.         MongoUtil.getColl("wujintao").insert(docs);  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB Compass是MongoDB官方提供的一款可视化管理工具,类似于navcat,可以帮助用户更方便地进行MongoDB数据库的查询和管理操作。对于基本查询语句,可以使用MongoDB Compass提供的界面来构建查询条件,并直接执行查询操作。在查询条件,可以使用各种查询操作符(如等于、大于、小于等)和逻辑操作符(如and、or)来构建复杂的查询语句。通过在查询条件指定字段和对应的条件,可以快速筛选出符合条件的文档。例如,可以使用eq操作符来进行等于条件的查询,如Filters.eq("name", "小明")表示查询name字段等于"小明"的文档。对于更复杂的查询语句,可以使用and、or等逻辑操作符来组合多个条件,如Filters.and(Filters.eq("task_id", 1001), Filters.eq("data_id", 2001))表示同时满足task_id等于1001和data_id等于2001的文档。通过在MongoDB Compass构建查询条件,并执行查询操作,可以方便地获取所需的数据结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MongoDB可视化工具MongoDB Compass导出JAVA语句](https://blog.csdn.net/m0_37821003/article/details/120526529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值