MongoDB库的操作

MongoDB库的操作

1.Help查看命令提示

help

db.help()

db.test.help()

db.test.find().help()

2.创建/切换数据库

use music

3.查询数据库

show dbs 空库将不会显示

db.albums.insertOne({‘title’:‘bey bey’})来插入一条后再看

4.查看当前使用的数据库

db/db.getName()

5.显示当前DB状态

db.stats()
6.查看当前DB版本

db.version()
7.查看当前DB的链接机器地址

db.getMongo()
8.删除数据库

db.dropDatabase()

Collection聚集集合操作

1.创建一个聚集集合

db.createCollection(“collName”, {size(集合大小): 20, capped(固定大小,可提高使用效率): true, max(最大值): 100});

db.collName.isCapped(); //判断集合是否为定容量

2.得到指定名称的聚集集合

db.getCollection(“account”);

3.得到当前db的所有聚集集合

db.getCollectionNames();

4.显示当前db所有聚集的状态

db.printCollectionStats();

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

1.查看

db.users.find()

2.添加

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

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

db.users.insertMany([{name: ‘zhangsan’, age: 25, sex: true},{name: ‘zhangsan’, age: 25, sex: true}]);

3.修改

db.users.update({age: 25}(约定条件,全部修改只写{}), {$set: {name: ‘changeName’,sex:1}}, false, true);

第三个参数为,如果没有这个数据,会不会创建,第四个参数为,如果有很多,是要全改true,还是只改第一条

相当于:update users set name = ‘changeName’ where age = 25;

db.users.update({name: ‘Lisi’}, {$inc: {age: 50}}, false, true);

相当于:update users set age = age + 50 where name = ‘Lisi’;

db.users.update({name: ‘Lisi’}, {$inc: {age: 50}, $set: {name: ‘hoho’}}, false, true);

相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;

4.删除

db.users.remove({age: 32});符合条件全删
db.users.remove({age: 132},{justone:true});只删一条
db.users.remove({});删除所有document

5.查询修改删除

db.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
});

6.query 过滤条件 $gte大于

sort如果多个文档符合查询过滤条件,将以该参数指定的排列方式选择出排在首位的对象,该对象将被操作,-1位为降序

remove 若为true,被选中对象将在返回前被删除

update 一个 修改器对象

remove 创建新对象若查询结果为空

聚集集合查询

1.查询所有记录

db.userInfo.find();

相当于:select * from userInfo;

2.查询去重后数据

db.userInfo.distinct(“name”);

相当于:select distict name from userInfo;

3.查询age = 22的记录

db.userInfo.find({“age”: 22});

相当于: select * from userInfo where age = 22;

4.查询age > 22的记录

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

相当于:select * from userInfo where age >22;

5.查询age < 22的记录

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

相当于:select * from userInfo where age <22;

6.查询age >= 25的记录

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

相当于:select * from userInfo where age >= 25;

7.查询age <= 25的记录

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

8.查询age >= 23 并且 age <= 26

db.userInfo.find({age: {$gte: 23, $lte: 26}});

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

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

//相当于%%
select * from userInfo where name like ‘%mongo%’;

10.查询name中以mongo开头的

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

相当于select * from userInfo where name like ‘mongo%’;

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

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

相当于:select name, age from userInfo;

12.查询指定列name、age数据, age > 25

db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});

相当于:select name, age from userInfo where age >25;

13.按照年龄排序排序

升序:db.userInfo.find().sort({age: 1});

降序:db.userInfo.find().sort({age: -1});

14.查询name = zhangsan, age = 22的数据

db.userInfo.find({name: ‘zhangsan’, age: 22});

相当于:select * from userInfo where name = ‘zhangsan’ and age =
’22’;

15.查询前5条数据

db.userInfo.find().limit(5);

相当于:select top 5 * from userInfo;

16.查询10条以后的数据

db.userInfo.find().skip(10);

相当于:select * from userInfo where id not in (
select top 10 * from userInfo
);

17.查询在5-10之间的数据

db.userInfo.find().limit(10).skip(5);

18.or与 查询

db.userInfo.find({$or: [{age: 22}, {age: 25}]});

相当于:select * from userInfo where age = 22 or age = 25;

19.查询第一条数据

db.userInfo.findOne();

相当于:selecttop 1 * from userInfo;

db.userInfo.find().limit(1);

20.查询某个结果集的记录条数

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

相当于:select count(*) from userInfo where age >= 20;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值