09模糊查询

select * from user where name like "%李%";
db.user.find({name://})

select * from user where name  like "ste%";
db.user.find({name:/^/})

10分页查询

const pageNumber = 2; // 第几页
const pageSize = 10; // 每页多少条记录
// mysql
SELECT * FROM user LIMIT pageSize OFFSET (pageNumber - 1) * pageSize;
// mongodb
db.user.find({}).skip((pageNumber - 1) * pageSize).limit(pageSize);

注意:skip()、limilt()、 sort()三个放在一起执行的时候,执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit(),和命令编写顺序无关。

11排序

// 正排序查询  
select * from user order by id;
db.user.find().sort({id:1})

//逆排序查询  
select * from user order by id desc;
db.user.find().sort({id:-1})

12去重

select distinct(name) from user;
db.user.distinct('name')

13获取表记录数

db.user.count()
db.user.find({id:1}).count()

14取存储路径

explain select * from tname where id=3;          
db.tname.find({id=3}).explain()

15创建索引

//mysql
CREATE INDEX idx_name ON user (name);
ALTER TABLE user ADD INDEX idx_name (name);

// mongodb 
db.user.createIndex({ name: 1 },{ unique: true })

上面的例子中,{ name: 1 } 定义了索引的字段和排序方向(1 表示升序,-1 表示降序)。{ unique: true } 选项指定了这是一个唯一索引。

16查看索引

db.user.getIndexes()