MongoDB基础命令

# # # # 基 础 命 令 # # # #
show dbs —— 查看当前所有数据库
use 数据库名 ——使用并创建【切换数据库】
[use 数据库名   db.dropDatabase()]——删除数据库【有值是才会删除】

show collections ——查看所有的集合
db.集合名.drop() ——删除集合
db.集合名.insert({name:‘xm’})——创建集合,并插入值
db.集合名.remove({name:‘xm’})——删除xm的字段
db.集合名.update({name:'xm'},{$set:{name:'zx'}})——修改name字段xm为zx
db.集合名.find()——查询所有的数据
db.集合名.fin({age:12})——查询所有年龄为12的
db.集合名.fin({age:12}).pretty()——查询所有年龄为12的,渲染显示




# # # # 比 较 # # # #
$gt  ----大于 ----    >
$gte ----小于-----    >=
$lt  ---大于等于-----  <
$lte ---小于等于------ <=
$ne  ---不等于------   !=
$eq  ----等于----      =
db.s.find({age:{$gt:19}}) ——查找年龄大于19的
db.s.find({age:{$lt:19}}) ——查找年龄小于19的




# # # # 查 询 更 改 # # # #
db.col.update({"age":{$gt:10} },{$set:{"sex":"女"}})——更改年龄大于10,性别改为女
db.col.update({"age":{$gt:10} },{$set:{"sex":"女"}},false,true)
false,false —— 更改第一个,没有不添加
false,true —— 全部更改,没有不添加
true,true —— 全部更改,没有添加
true,false ——更改第一个,没有添加
第一个参数表示没有添加或者不添加,第二个参数更改第一个还是全部




# # # # and or 查 询 # # # #
db.c.find({$or:[{class:'0506'},{class:'0218'}]}) ——查询班级为0506或者0218
db.c.find({$and:[{class:'0506'},{age:20}]}) ——查询班级为0506以及年龄为20 
或者 db.c.find({class:'0506',age:20})
db.c.find({money:{$gte:200},$or:[{class:'0506'},{class:'0218'}]})——钱大于等于200,班级为0506或者0218

db.c.find({money:{$gte:200},$or:[{class:'0506'},{age:21}]},{'_id':0,name:1,cla
ss:1}).pretty()——钱大于等于200,班级为0506或者年龄为21,返回的字段为class与name【_id,默认为1,0为不打印,,其他字段需要打印,键值为‘1’,不需要打印,则‘不写’】


# # # # type 类 型 查 询 # # # #
db.c.find({money:{$type:1}}) ——查询money对应键值的类型为1【Double】的信息
Double	      			1
String	      			2
Object	      			3
Array	      			4
Binary data	  			5
Object id	  			7
Boolean	      			8
Date	      			9
Null	     			10
Regular Expression		11
JavaScript	 			13
Symbol	      			14
JavaScript (with scope)	15
32-bit integer			16
Timestamp				17
64-bit integer			18
Min key	    			255
Max key	    			127
 
# # # #limit 查 询 # # # #
db.c.find({money:{$type:1}}).limit(2)——限定查询条数,显示2条money对应键值的类型为1【Double】的信息


# # # # skip 查 询 # # # #
db.c.find({money:{$type:1}}).limit(2).skip(1)——跳过第一条,查询2条money对应键值的类型为1【Double】的信息


# # # # sort 排 序 # # # #
db.c.find({money:{$type:1}}).sort({age:-1}) ——按照age这个字段进行降序【1为升序,-1为降序】


# # # # count 统 计 # # # #
db.c.count() —— 统计总的条数


# # # # aggregate 聚 合 # # # #
## 求和 ##
db.c.aggregate([{$group:{_id:'$class',nums:{$sum:'$money'}}}])——以class分组,求money的总和
其中_id 不可变,nums可变

## 平均值 ##
db.c.aggregate([{$group:{_id:'$class',nums:{$avg:'$money'}}}])——以class分组,求money的平均值

## 最小值 ##
db.c.aggregate([{$group:{_id:'$class',nums:{$min:'$money'}}}])
## 最大值 ##
db.c.aggregate([{$group:{_id:'$class',nums:{$max:'$money'}}}])
## 根据数据的排序获取第一个文档数据 ##
db.c.aggregate([{$group:{_id:'$class',nums:{$first:'$money'}}}])
## 根据数据的排序获取最后一个文档数据 ##
db.c.aggregate([{$group:{_id:'$class',nums:{$last:'$money'}}}])




# # # # 扩 展 # # # #
db.createUser({user:"xiaoming",pwd:"123456",roles[{role:"userAdmin",db:"test"}]})——创建用户
show users ——查看所有的用户信息
db.removeUser('userName') ——删除用户
db.help()——查看所有的数据库操作命令
db.集合名.help() ——查看所有的集合操作命令
db.stats()——显示当前db状态
db.version()——当前db版本
db.getMongo()——查看当前db的链接机器地址