时间:2021-05-26
一,方法介绍
1,聚合操作之count
count()方法可以查询统计符合条件的集合的总数
1 db.User.count(<query>) // 此方法等价于 db.User.find(<query>).count()在分布式集合中,会出现计算错误的情况,这个时候推荐使用aggregate;
2,find() 方法以非结构化的方式来显示所有文档。
1 db.User.find();//相当于:select* from User;3,exec() 方法用于检索字符串中的正则表达式的匹配。(javascript方法)
4,sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。
1 升序:db.User.find().sort({CreateTime: 1});2 降序:db.User.find().sort({CreateTime: -1});5,skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。
1 db.User.find().skip(2)//跳过2条6,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。一般与skip连用
1 # limit()中number值为空时代表全部查出2 db.User.find().limit(2) #读取的条数1 # 常用在分页方法中2 # 查询User集合中,跳过前两条记录,每页一条记录3 > db.User.find().skip(2).limit(1)二,封装与接口抛出
2.1,分页查询
1,根据查询条件获取总条数,使用count({},callback)方法
2,实现连写查询
(1)这个可以用来做分页,表示获取从第1条(第1条记录序号为0)记录开始的10条记录.类似与Mysql的limit 0, 10,如下:
{ limit:10,//pageSize skip:0//page:skip+1}(2)按某个字段升序(1)降序(-1),如下 按照创建时间进行降序排列
(3)代码连写查询实现:
3,根据所传的参数实现分页查询
抛出分页查询的接口
//连写查询数据 包括分页 获取总条数router.put('/user/getSingleAndManyData', function (req, res) { var tableName = req.body.tableName;//'User' var IsEnable = req.body.IsEnable; var limit = req.body.pageSize; var sort = req.body.sort; var skip = req.body.page; let conditions = { IsEnable } let options = { sort: {CreateTime: sort},//排序 limit,//pageSize skip:(limit*(skip-1))//page } // let options = { // sort: {CreateTime: -1},//按某个字段升序(1)降序(-1) // limit:10, // skip:(limit*(skip-1))//skip=1=> skip:0 // } // 这个可以用来做分页,表示获取从第1条(第1条记录序号为0)记录开始的10条记录.类似与Mysql的limit 0, 10 let data = { httpCode: 200, message: "查询成功!", status: 1, data: null, page:skip, pageSize:limit } MongoDbAction.getTotal(tableName,conditions, function (err, total) { if (err) { data.total=0 data.status = 0 data.message = "未查询到数据!" data.data = null res.status(data.httpCode).json(data); } else { MongoDbAction.whereCondition(tableName,conditions,options, function (err, result) { if (!err) { data.total=total data.data = result res.status(data.httpCode).json(data); } else { data.total=0 data.status = 0 data.message = "未查询到数据!" data.data = result res.status(data.httpCode).json(data); } }); } }); })4,接口调用,返回的结果集如下:
三,常见问题
1,连接警告
警告:(node:204) DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
1 mongoose.connect(dbURL);// 连接数据库 存在警告解决办法:连接配置添加: { useNewUrlParser: true }
1 mongoose.connect(dbURL,{useNewUrlParser:true});//连接数据库总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Nodejs连接mysql并实现增、删、改、查操作的方法。分享给大家供大家参考,具体如下:一、准备nodejs的教程,大多以操作mongodb为示
本文实例讲述了Nodejs实现的操作MongoDB数据库功能。分享给大家供大家参考,具体如下:mongodb_demo.js/**cnpminstallmong
火山是不能取消实名认证的,其操作方法如下: 1、点击登录火山小视频,进入个人中心选择“火力”功能,从下方找到并且点击“常见问题”选项。 2、进入到“常见问题
正在看的ORACLE教程是:ORACLE数据库应用开发常见问题及排除。硬件平台:SUNUltraEnterprise3000 操作系统:Solaris2.5(
前两篇文章我们介绍了nodejs操作redis和MySQL,下面简要测试一下nodejs操作mongodb:首先安装nodejsmongodbnpminstal