Mongodb数据库操作

1、查看数据库

show dbs;

2、选择使用某个数据库

use <数据库名>

3、查看库下的表(暂且说成是表,mongodb中称表问文档)

show collections;

4、插入数据

db.<表名>.insert( {'name':'demo','sex':'m','age':18} );

PS: 注意在插入数据时的数据类型,插入数据可随意定义每行的结构,mongodb中没有固定的表结构。

5、查询数据

db.<表名>.find();

PS:在查询有条件的数据时,就要注意到数据类型的问题了

db.table.insert( {'id':'123','age':18} );

db.table.insert( {'id':123 ,'age':20} );

db.table.find( {'id':123} ); # 只能查看到第二条数据

另外一些条件(如下用法):

$lt(小于),$lte(小于等于),$gt(大于),$gte(大于等于),$ne(不等于)。

例如:db.table.find( {'age':{ '$lt':19 } } )。意思就是查询age小于19岁的数据

6、排序

db.table.find().sort( {'age':1} )

PS:1 表示升序 -1 表示降序

7、分页

db.table.find().limit(10).skip(20);

PS:skip 规定忽略几个,上述查询类似mysql中的 limit 20,10

8、查询统计

db.table.count();

db.table.find( {'age':{'$lt':19} } ).count()

9、删除数据

db.table.remove();//删除全部

db.table.remove( {'id':123} );//删除指定数据

10、更新数据

db.table.update( {'id':123},{'age':25} );// 查找id为123的数据,将其age字段更新为25

do.table.update( {'id':123} , {'age':22} ,true );// 类似于mysql的 replace用法 存在则更新,不存在则添加

11、索引

db.table.ensureIndex({'id':1})// 创建索引

db.table.dropIndex({'id':1})// 删除索引

db.table.ensureIndex({'id':1},{unique:true}); // 独立索引

db.table.ensureIndex({'id':1,'age':1})// 联合索引

db.table.ensureIndex( { loc : "2dsphere" } )//空间索引

12、备份(使用 mongodump.exe 备份数据)

mongodump.exe -d learn -o backup (备份整个 learn 数据库)

mongodump.exe -d learn -c test -o backup (备份单独的表)

PS: -d 数据库 -c 数据表 -o 备份目录

13、恢复数据库( 使用 mongorestore.exe 恢复)

mongorestore.exe -d lear -c test backup/learn/unicorns.bson

PS: -d 数据库 -c 数据表

14、导出数据

mongoexport.exe -d test -c mapinfo -o export.dat( 导出数据为json格式数据,默认格式 )

PS: -d 数据库 -c 表 -o 导出文件名

mongoexport.exe -d test -c mapinfo --csv -f id,name -o csv.csv (导出数据为csv格式数据)

PS:-d 数据库 -c 表 --csv 导出为csv格式 -f 导出字段名 -o 导出文件名

15、导入数据

mongoimport.exe -d test -c mapinfo mapinfo.dat (导入 json 格式数据 ,默认格式)

PS:-d 数据库 -c 表 数据源

mongoimport.exe -d test -c mapinfo --type csv --headerline --file csv.csv (导入csv格式数据)

PS:-d 数据库 -c 表 --type 类型 --headerline 不导入第一行 --file 数据源

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

双木林L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值