MongoDB 是什么 ? 能干嘛?( 二 )


1、切换数据库
use dba创建数据库并不是必须的操作,数据库与集合只有在第一次插入文档时才会被创建,与对数据的动态处理方式是一致的 。简化并加速开发过程,而且有利于动态分配命名空间 。如果担心数据库或集合被意外创建,可以开启严格模式
2、插入语法
1db.users.insert({username:"smith"})2db.users.save({username:"smith"})
3、查找语法
1 db.users.find()2 db.users.count()
4、更新语法

MongoDB 是什么 ? 能干嘛?

文章插图
 
5、删除语法
1db.foo.remove() //删除所有数据2db.foo.remove({favorties.cities:"cheyene"}) //根据条件进行删除3db.drop() //删除整个集合
6、索引相关语法
1db.numbers.ensureIndex({num:1})2//创建一个升序索引3db.numbers.getIndexes()4//获取全部索引
7、基本管理语法
1 show dbs 2 //查询所有数据库 3 show collections 4 //显示所有表 5 db.stats() 6 //显示数据库状态信息 7 db.numbers.stats() 8 //显示集合表状态信息 9 db,shutdownServer()10 //停止数据库11 db.help()12 //获取数据库操作命令13 db.foo.help()14 //获取表操作命令15 tab 键 //能自动帮我们补全命令以上的命令只是简单实例,假设如果你之前没有学习过任何数据库语法,同时开始学sql查询语法和MongoDB 查询语法,你会发现哪一个更简单呢?如果你使用的是JAVA驱动去操作MongoDB,你会发现任何的查询都像Hibernate提供出来的查询方式一样,只要构建好一个查询条件对象,便能轻松查询(接下来会给出示例),博主之前熟悉ES6,所以入手MongoDB js shell完成没问题,也正因为这样简洁,完善的查询机制,深深的爱上了MongoDB 。
7、在Java中使用MongoDB
1、使用maven引入jar包
这里引用的是最新的驱动包,提供了一套新的访问连接方式
1 <dependency>2 <groupId>org.mongodb</groupId>3 <artifactId>mongodb-driver-sync</artifactId>4 <version>3.8.0-beta3</version>5 </dependency>
2、创建一个访问客户端
1 MongoClient client = MongoClients.create(“mongodb://10.201.76.94:27017”);
3、获取集合数量
1 public long count() {2 MongoClient client = this.getClient();3 MongoCollection<Document> collections= client.getDatabase("mongodb_db_name").getCollection("mongodb_collection_name");4 return collections.count();5 }
4、查询集合

MongoDB 是什么 ? 能干嘛?

文章插图
 
这里只举例了简单的链接与简单的MongoDB操作,可见其操作的容易性 。使用驱动时是基于TCP套接字与MongoDB进行通信的,如果查询结果较多,恰好无法全部放进第一服务器中,将会向服务器发送一个getmore指令获取下一批查询结果 。
插入数据到服务器时间,不会等待服务器的响应,驱动会假设写入是成功的,实际是使用客户端生成对象id,但是该行为可以通过配置配置,可以通过安全模式开启,安全模式可以校验服务器端插入的错误 。

【MongoDB 是什么 ? 能干嘛?】


推荐阅读