* Help查看命令提示
help
db.help()
db.test.help()
db.test.find().help()
* 创建/切换数据库
use music
* 查询数据库
show dbs 空库将不会显示
db.albums.insertOne({'title':'bey bey'})来插入一条后再看
* 查看当前使用的数据库
db/db.getName()
* 显示当前DB状态
db.stats()
* 查看当前DB版本
db.version()
* 查看当前DB的链接机器地址
db.getMongo()
* 删除数据库
db.dropDatabase()
#### Collection聚集集合操作
创建一个聚集集合
db.createCollection("collName", {size(集合大小): 20, capped(固定大小,可提高使用效率): true, max(最大值): 100});
db.collName.isCapped(); //判断集合是否为定容量
得到指定名称的聚集集合
db.getCollection("account");
得到当前db的所有聚集集合
db.getCollectionNames();
显示当前db所有聚集的状态
db.printCollectionStats();
### 添加、修改与删除集合数据
查看
db.users.find()
添加
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}]);
修改
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';
删除
db.users.remove({age: 32});符合条件全删
db.users.remove({age: 132},{justone:true});只删一条
db.users.remove({});删除所有document
查询修改删除
```
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
});
```
query 过滤条件 $gte大于
sort如果多个文档符合查询过滤条件,将以该参数指定的排列方式选择出排在首位的对象,该对象将被操作,-1位为降序
remove 若为true,被选中对象将在返回前被删除
update 一个 修改器对象
remove 创建新对象若查询结果为空
#### 聚集集合查询
查询所有记录
db.userInfo.find();
相当于:select* from userInfo;
查询去重后数据
db.userInfo.distinct("name");
相当于:select distict name from userInfo;
查询age = 22的记录
db.userInfo.find({"age": 22});
相当于: select * from userInfo where age = 22;
查询age > 22的记录
db.userInfo.find({age: {$gt: 22}});
相当于:select * from userInfo where age >22;
查询age < 22的记录
db.userInfo.find({age: {$lt: 22}});
相当于:select * from userInfo where age <22;
查询age >= 25的记录
db.userInfo.find({age: {$gte: 25}});
相当于:select * from userInfo where age >= 25;
查询age <= 25的记录
db.userInfo.find({age: {$lte: 25}});
查询age >= 23 并且 age <= 26
db.userInfo.find({age: {$gte: 23, $lte: 26}});
查询name中包含 mongo的数据
db.userInfo.find({name: /^mongo/});
//相当于%%
select * from userInfo where name like ‘%mongo%’;
查询name中以mongo开头的
db.userInfo.find({name: /^mongo/});
相当于select * from userInfo where name like ‘mongo%’;
查询指定列name、age数据
db.userInfo.find({}, {name: 1, age: 1});
相当于:select name, age from userInfo;
查询指定列name、age数据, age > 25
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
相当于:select name, age from userInfo where age >25;
按照年龄排序
升序:db.userInfo.find().sort({age: 1});
降序:db.userInfo.find().sort({age: -1});
查询name = zhangsan, age = 22的数据
db.userInfo.find({name: 'zhangsan', age: 22});
相当于:select * from userInfo where name = ‘zhangsan' and age =
’22';
查询前5条数据
db.userInfo.find().limit(5);
相当于:select top 5 * from userInfo;
查询10条以后的数据
db.userInfo.find().skip(10);
相当于:select * from userInfo where id not in (
select top 10 * from userInfo
);
查询在5-10之间的数据
db.userInfo.find().limit(10).skip(5);
or与 查询
db.userInfo.find({$or: [{age: 22}, {age: 25}]});
相当于:select * from userInfo where age = 22 or age = 25;
查询第一条数据
db.userInfo.findOne();
相当于:selecttop 1 * from userInfo;
db.userInfo.find().limit(1);
查询某个结果集的记录条数
db.userInfo.find({age: {$gte: 25}}).count();
相当于:select count(*) from userInfo where age >= 20;
help
db.help()
db.test.help()
db.test.find().help()
* 创建/切换数据库
use music
* 查询数据库
show dbs 空库将不会显示
db.albums.insertOne({'title':'bey bey'})来插入一条后再看
* 查看当前使用的数据库
db/db.getName()
* 显示当前DB状态
db.stats()
* 查看当前DB版本
db.version()
* 查看当前DB的链接机器地址
db.getMongo()
* 删除数据库
db.dropDatabase()
#### Collection聚集集合操作
创建一个聚集集合
db.createCollection("collName", {size(集合大小): 20, capped(固定大小,可提高使用效率): true, max(最大值): 100});
db.collName.isCapped(); //判断集合是否为定容量
得到指定名称的聚集集合
db.getCollection("account");
得到当前db的所有聚集集合
db.getCollectionNames();
显示当前db所有聚集的状态
db.printCollectionStats();
### 添加、修改与删除集合数据
查看
db.users.find()
添加
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}]);
修改
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';
删除
db.users.remove({age: 32});符合条件全删
db.users.remove({age: 132},{justone:true});只删一条
db.users.remove({});删除所有document
查询修改删除
```
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
});
```
query 过滤条件 $gte大于
sort如果多个文档符合查询过滤条件,将以该参数指定的排列方式选择出排在首位的对象,该对象将被操作,-1位为降序
remove 若为true,被选中对象将在返回前被删除
update 一个 修改器对象
remove 创建新对象若查询结果为空
#### 聚集集合查询
查询所有记录
db.userInfo.find();
相当于:select* from userInfo;
查询去重后数据
db.userInfo.distinct("name");
相当于:select distict name from userInfo;
查询age = 22的记录
db.userInfo.find({"age": 22});
相当于: select * from userInfo where age = 22;
查询age > 22的记录
db.userInfo.find({age: {$gt: 22}});
相当于:select * from userInfo where age >22;
查询age < 22的记录
db.userInfo.find({age: {$lt: 22}});
相当于:select * from userInfo where age <22;
查询age >= 25的记录
db.userInfo.find({age: {$gte: 25}});
相当于:select * from userInfo where age >= 25;
查询age <= 25的记录
db.userInfo.find({age: {$lte: 25}});
查询age >= 23 并且 age <= 26
db.userInfo.find({age: {$gte: 23, $lte: 26}});
查询name中包含 mongo的数据
db.userInfo.find({name: /^mongo/});
//相当于%%
select * from userInfo where name like ‘%mongo%’;
查询name中以mongo开头的
db.userInfo.find({name: /^mongo/});
相当于select * from userInfo where name like ‘mongo%’;
查询指定列name、age数据
db.userInfo.find({}, {name: 1, age: 1});
相当于:select name, age from userInfo;
查询指定列name、age数据, age > 25
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1});
相当于:select name, age from userInfo where age >25;
按照年龄排序
升序:db.userInfo.find().sort({age: 1});
降序:db.userInfo.find().sort({age: -1});
查询name = zhangsan, age = 22的数据
db.userInfo.find({name: 'zhangsan', age: 22});
相当于:select * from userInfo where name = ‘zhangsan' and age =
’22';
查询前5条数据
db.userInfo.find().limit(5);
相当于:select top 5 * from userInfo;
查询10条以后的数据
db.userInfo.find().skip(10);
相当于:select * from userInfo where id not in (
select top 10 * from userInfo
);
查询在5-10之间的数据
db.userInfo.find().limit(10).skip(5);
or与 查询
db.userInfo.find({$or: [{age: 22}, {age: 25}]});
相当于:select * from userInfo where age = 22 or age = 25;
查询第一条数据
db.userInfo.findOne();
相当于:selecttop 1 * from userInfo;
db.userInfo.find().limit(1);
查询某个结果集的记录条数
db.userInfo.find({age: {$gte: 25}}).count();
相当于:select count(*) from userInfo where age >= 20;