基本命令
查看当前数据库的基本命令 db
查看所有的数据库 show dbs
查看所有集合 show collections
删除集合 db.集合名称.drop()
切换和常见数据库 use dbname
删除数据库(先切换到要删除的数据库下) db.dropDatabase()
查看数据库信息 db.stats()
创建集合
db.createCollection('集合名称') 不固定大小
固定大小的集合 集合内容存满是,新的数据会覆盖旧的数据
db.createCollection(
'info',
{capped:true, 制定集合的大小(单位是字节)
size:10, 指定集合中能存储的最大文档的数量
max:
})
size的优先级更高
数据的 增 删 改 查
db.1712student
插入数据
插入单条数据
db.集合名称.insert({'key':'value'})
插入多条数据库
db.集合名称.insert(
[
{'key':'value'}
]
)
插入数据时 如果没有指定 _id 会帮你自动生产一个 也可以自己生成一个
更新数据
update
全文档更新 (由一个新的文档替换之前的文档,id不变)
db.集合.update(
{'key':'value'},查询条件
{'newkey':'newvalue'}新的文档
{
upsert:默认情况下为false,要更新的文档不存在,不会插入一条新的文档 }
)
局部更新
db.集合名称.update(
{'key':'value'},查询条件
{ $set:{'newkey':'newvalue'}
}
)
save:会根据_id这个字段起集合下查找,如果_id存在,\全文档更新。 如果不存在,则插入一条新的数据库
db.集合名称.save(
{id:'',
'key':'value',....}
)
格式化输出
db.集合名称.find().pretty()
删除数据
删除多条
db.集合名称.remove(
{'key':'value'}, 条件
1 表示的不是数量,表示的是true和flase
)
查询
db.集合名称.find() 查询所有
db.集合名称.find(
{'key':'value'}, 条件
)
db.集合名称.findOne( 查询第一条
{'key':'value'}, 条件
)
等于,默认是等于判断,没有运算符
小于 lte
大于 gte
不等于 $ne
db.集合名称.find(
{'time':{$gte:100})
)
多条件查询
db.集合名称.find(
{
'time':{$gte:100},
'actor':{'李连杰'}
}
)
逻辑或 or:
[
{'time':{$gt:100}},
{'actor':'李连杰'}
],)
使用正则查询
db.集合名称.find(
{
'字段':/^正则表达式/
})
db.集合名称.find(
{
'字段':{type:只返回符合数据类型的文档
db.集合名称.find(
{
'key':{$type:'数据类型'}
}
)
limit:限制返回
db.数据类型.find().limit(数字)
skip:跳过数据
db.xiaoti.find().skip(数字).limit(数字)
注意:limit和skip顺序不分先后
db.集合名称.find().sort({'key':方向(1 or -1),'key2':方向( )})
distinct: 去重
db.集合名称.distinct('')
project(投影):乐意选择查询结果中,数据的展示和隐藏 1是显示 0是隐藏
db.集合名称.find({},{'字段':数字,})
假如再设置要显示的字段时,第一个字段显示为1,值显示这个字段 其他的不显示 只隐藏当前设置的字段,其他的字段都会显示出来
count统计文档的个数
db.集合名称.count(
{条件}
)
db.集合名称.find({条件}).count()
mongodb操作中的聚合,主要是处理数据(求和,求整)
MongoDB数据导入与导出
d :数据库名
c :collection名
o :输出的文件名
-type : 输出的格式,默认为json
f :输出的字段,如果-type为csv,则需要加上-f "字段名"
导出json 将mongo数据库导入在文件 .json 结尾的文件
mongoexport -d XXX(库名字) -c XXX(集合名字) -o '路径(将文件直接拉入终端)' --type json
mongoexport -d xxx -c xxx -o '路径' --type json
导出csv
mongoexport -d class1804 -c books -o ~/桌面/dump/books.csv --type csv -f 'by_user,likes'
https://www.cnblogs.com/TankMa/archive/2011/06/08/2074947.html