MongoDB常用操作命令

MongoDB操作命令

1、 创建新的数据库并进入

use mydata

2、 Help查看命令提示

db.help();
db.yourColl.help();
db.youColl.find().help();
rs.help();

3 、查询所有数据库

show dbs;

4、 删除当前使用数据库

db.dropDatabase();

5、从指定主机上克隆数据库

db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库

6、从指定的机器上复制指定数据库数据到某个数据库

db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中

7、修复当前数据

db.repairDatabase();

8、查看当前使用的数据库

b.getName();
db; db和getName方法是一样的效果,都可以查询当前使用的数据库

9、显示当前db状态

db.stats();

10、当前db版本

db.version();

11、查看当前db的链接机器地址

db.getMongo();

用户

1、添加一个用户

db.addUser("name");
db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读

2、数据库认证、安全模式

db.auth("userName", "123456");

3、显示当前所有用户

show users;

4、删除用户

db.removeUser("userName");

查询

1、查询所有记录

db.userInfo.find();
默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数    据。注意:键入it命令不能带“;”
但是你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;这样    每页就显示50条记录了。

2、查询去掉后的当前聚集集合中的某列的重复数据

db.userInfo.distinct("name");
会过滤掉name中的相同数据
相当于:select distict name from userInfo;

3、查询age = 100的记录

db.userInfo.find({"age": 100});

4、查询age > 100的记录

db.userInfo.find({age: {$gt: 100}});

5、查询age < 100的记录

db.userInfo.find({age: {$lt: 100}});

6、查询age >= 100的记录

db.userInfo.find({age: {$gte: 100}});

7、查询age <= 100的记录

db.userInfo.find({age: {$lte: 100}});

8、查询age >= 20 并且 age <= 30

db.userInfo.find({age: {$gte: 20, $lte: 30}});

9、查询name中包含 mongo的数据

db.userInfo.find({name: /mongo/});

10、查询name中以mongo开头的

db.userInfo.find({name: /^mongo/});

11、查询指定列name、age数据

db.userInfo.find({}, {name: 10, age: 10});

修改、添加、删除集合数据

1、添加

db.users.save({name: ‘zhangsan', age: 25, sex: true});

2、修改

db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);

3、删除

db.users.remove({age: 321});

4、查询修改删除

b.users.findAndModify({
query: {age: {$gte: 25}}, 
sort: {age: -1}, 
update: {$set: {name: 'a2'}, $inc: {age: 2}},
remove: true
});
db.runCommand({ findandmodify : "users", 
query: {age: {$gte: 25}}, 
sort: {age: -1}, 
update: {$set: {name: 'a2'}, $inc: {age: 2}},
remove: true
});

其他

1、循环添加数据

> for (var i = 0; i < 30; i++) {
... db.users.save({name: "u_" + i, age: 22 + i, sex: i % 2});
... };

> for (var i = 0; i < 30; i++) db.users.save({name: "u_" + i, age: 22 + i, sex: i % 2});

2、forEach迭代循环

db.users.find().forEach(printjson);

想了解更多可以参考:mongodb官网 https://www.mongodb.com/

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2021 魏姣
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信