MongoDB 入门

来源:互联网 发布:windows查看进程端口 编辑:程序博客网 时间:2024/06/05 15:15

学习自菜鸟教程

这里写图片描述

这里写图片描述

需要注意的是:

  • 文档中的键/值对是有序的。
  • 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据-类型(甚至可以是整个嵌入的文档)。
  • MongoDB区分类型和大小写。
  • MongoDB的文档不能有重复的键。
  • 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。

这里写图片描述
这里写图片描述

mongod  --dbpath  D:\mongodb_data\db  #启动mongo(Win下)#后面为指定数据库存储路径show dbs  #显示所有数据库use local #连接到'local'数据库,如没有local数据库则自动创建local数据库db        #显示当前数据库或集合db.dropDatabase()  #删除当前数据库show tables  #显示当前数据库的集合db.site.drop() #删除当前数据库的site集合use admindb.shutdownServer()  # 关闭数据库db.col.insert({title: 'MongoDB 教程',     description: 'MongoDB 是一个 Nosql 数据库',    by: '菜鸟教程',    url: 'http://www.runoob.com',    tags: ['mongodb', 'database', 'NoSQL'],    likes: 100})    #向当前数据库的col集合中插入文档db.col.find()  #查看col中已存在的文档db.col.find().count() #查看col文档的数量db.col.find().pretty()#pretty() 方法以格式化的方式来显示所有文档。db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})#把上一条插入的数据title修改为MongoDB,只修改发现的第一条db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})#修改多条。db.col.remove({'title':'MongoDB 教程'})#删除col集合中'title'为'MongoDB 教程'的数据。db.col.remove({})#删除col集合中所有的文档db.col.find({"title":"菜鸟教程"}).pretty()#查询title为菜鸟教程的文档db.col.find({key1:value1, key2:value2}).pretty()#查询多个值db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()#查询or条件db.medicinetreatment.count({'time':{$exists:true}})#查询medicinetreatment集合中存在time字段的个数。

MongoDB 的条件语句查询

这里写图片描述

Java 连接MongoDB

// Java代码MongoClient mongoClient = new MongoClient( "localhost" , 27017 );// 连接到 mongodb 服务  MongoDatabase mongoDatabase = mongoClient.getDatabase("mycol");// 连接到数据库mongoDatabase.createCollection("test");//创建test集合MongoCollection<Document> collection = mongoDatabase.getCollection("test");//选择test集合// 向test集合中添加文档/** * 1. 创建文档 org.bson.Document 参数为key-value的格式 * 2. 创建文档集合List<Document> * 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document) * */Document document = new Document("title", "MongoDB").           append("description", "database").           append("likes", 100).           append("by", "Fly");  List<Document> documents = new ArrayList<Document>();  documents.add(document);  collection.insertMany(documents);  //检索所有文档  /** * 1. 获取迭代器FindIterable<Document> * 2. 获取游标MongoCursor<Document> * 3. 通过游标遍历检索出的文档集合 * */  FindIterable<Document> findIterable = collection.find();  MongoCursor<Document> mongoCursor = findIterable.iterator();  while(mongoCursor.hasNext()){      System.out.println(mongoCursor.next());  }  //删除符合条件的第一个文档  collection.deleteOne(Filters.eq("likes", 200));  //删除所有符合条件的文档  collection.deleteMany (Filters.eq("likes", 200));