MongoDB Shell 了解使用
配置环境变量
WIN10系统:右键单击“此电脑”——属性——高级系统设置——高级——环境变量,添加C:\Program Files\MongoDB\Server\3.0\bin
如果不配置环境变量,则需到C:\Program Files\MongoDB\Server\3.0\bin目录,执行mongo.exe文件。
下图直接cmd,命令mongo,表示连接成功。
Shell的一些操作
命名规范
- 不能是空字符串("")。
- 不得含有 ' '(空格)、.、$、/、\和\0 (空字符)。
- 应全部小写。
- 最多64字节。
- 一些系统关键字。
1、创建一个数据库,执行下面命令。example:数据库名(如果只创建数据库,而不做处理,这个空数据库会被删除。)
use example
2、查看所有数据库 (验证上面的创建的数据,下面不存在。)
show dbs
3、给指定数据库添加集合并添加记录。 user:集合名 insert:插入一条记录
> db.user.insert({name:'yujie'})
> WriteResult({ "nInserted" : 1 }) --表示成功
再show dbs查看,数据库创建成功。
4、查看所有文档
show collections
5、查看user文档中的所有记录
> db.user.find()
{ "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "xiaoming" }
6、查看user文档中的第一条记录
> db.user.findOne()
{ "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "xiaoming" }
7、更新文档数据 update({查询条件},{更新内容})
> db.user.update({name:'xiaoming'},{$set:{name:'小明'}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.user.find()
{ "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "小明" }
6、删除文档数据 remove({条件})
> db.user.insert({name:'zhangsan'}) --先插入一条
WriteResult({ "nInserted" : 1 })
> db.user.find() --再查询
{ "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "小明" }
{ "_id" : ObjectId("598c0b0603bd136ff3ea0258"), "name" : "zhangsan" }
> db.user.remove({name:'zhangsan'}) --再删除
WriteResult({ "nRemoved" : 1 })
> db.user.find() --再查询
{ "_id" : ObjectId("598c05e503bd136ff3ea0257"), "name" : "小明" }
7、删除数据库 db.dropDatabase()
> use delectdb --创建数据库
switched to db delectdb
> db.dropDatabase() --删除数据库
{ "ok" : 1 }
8、帮助 db.help() -- db.数据库名.help()
MongoDB语法与关系型数据库SQL语法比较
MongoDB语法 | MySql语法 |
---|---|
db.test.find({'name':'foobar'}) | select * from test where name='foobar' |
db.test.find() | select * from test |
db.test.find({'ID':10}).count() | select count(*) from test where ID=10 |
db.test.find().skip(10).limit(20) | select * from test limit 10,20 |
db.test.find({'ID':{$in:[25,35,45]}}) | select * from test where ID in (25,35,45) |
db.test.find().sort({'ID':-1}) | select * from test order by ID desc |
db.test.distinct('name',{'ID':{$lt:20}}) | select distinct(name) from test where ID<20 |
db.test.find('this.ID<20',{name:1}) | select name from test where ID<20 |
db.test.insert({'name':'foobar','age':25}) | insert into test ('name','age') values('foobar',25) |
db.test.remove({}) | delete * from test |
db.test.remove({'age':20}) | delete test where age<20 |
db.test.remove({'age':{$lte:20}}) | delete test where age<=20 |
db.test.remove({'age':{$gt:20}}) | delete test where age>20 |
db.test.remove({'age':{$gte:20}}) | delete test where age>=20 |
db.test.remove({'age':{$ne:20}}) | delete test where age!=20 |
db.test.update({'name':'foobar'},{$set:{'age':36}}) | update test set age=36 where name='foobar' |
db.test.update({'name':'foobar'},{$inc:{'age':3}}) | update test set age=3 where name='foobar' |