当前位置:Gxlcms > 数据库问题 > mongodb常用命令操作

mongodb常用命令操作

时间:2021-07-01 10:21:17 帮助过:30人阅读

 

show dbs;

   

选择某个库:

 

use db;

   

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

 

show collections;

   

插入数据:

 

db.table.insert( {‘name‘:‘demo‘,‘sex‘:‘m‘,‘age‘:18} );

 

(注意在插入数据时的数据类型)

 

插入数据可随意定义每行的结构,mongodb中没有固定的表结构

 

  eg: db.table.insert( {‘names‘:‘demo‘,‘sexs‘:‘m‘,‘age‘:20} );

   

查询数据:

 

db.table.find();

 

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

 

eg:

 

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 } } )

   

排序:

 

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

 

1 表示升序 -1 表示降序

   

分页:

 

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

 

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

   

查询数量:

 

db.table.count();

 

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

   

删除数据:

 

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

 

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

     

更新数据:

 

db.table.update( {‘id‘:123},{‘age‘:25} )

 

// 查找id为123的数据,将其age字段更新为25

   

do.table.update( {‘id‘:123} , {‘age‘:22} ,true );

 

// 类似于mysql的 replace用法 存在则更新,不存在则添加

   

索引:

 

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

 

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

 

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

 

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

   

备份(使用 mongodump.exe 备份数据):

 

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

 

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

 

( -d 数据库 -c 数据表 -o 备份目录)

   

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

 

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

人气教程排行