摘要:的一些高级用法中文移民的用法在中没有关联查询这一说,因此必须就要先设置好相关联的对象比如,我们在中就就先定义一个对象时间价格区域而后使用把相关联的查询出来当然,也是支持内嵌数组对象的你可以把他定义为复杂查询以下是一个复杂查询,基本包括了所
mongoose的一些高级用法:
1 populate(中文:移民)的用法
在mongodb中没有关联查询这一说,因此必须就要先设置好相关联的对象
比如,我们在ZonePrice中就就先定义一个Zone对象
var ZonePriceSchema = new mongoose.Schema({ zone:{type:ObjectId, ref:"Zone"}, time: String, //时间 price: Number, //价格 district:String, //区域 })
而后使用populate把相关联的zone查询出来
ZonePrice.find({}) .populate({ path:"zone", match:{priceRate:{$gt:0}}, options:{ limit:pageSize, skip:(pageNum-1)*pageSize } })
当然,mongoose也是支持内嵌数组对象的
你可以把他定义为
someSchema({ ... ofObjectId: [Schema.Types.ObjectId], ... })
2 复杂查询
以下是一个复杂查询,基本包括了所有的查询用法
Person .find({ occupation: /host/ }) .where("name.last").equals("Ghost") // Person.name.last是Ghost .where("age").gt(17).lt(66) // 17 < Person.age <66 .where("likes").in(["vaporizing", "talking"])//likes是vaporizing或者talking .limit(10) //限制10条记录 .sort("-occupation") //根据occupation的倒序排 .select("name occupation") //选择name和occupation字段 .exec(callback);
3 模糊匹配
有时候在项目中需要搜索功能,而搜索功能的实现必须用模糊匹配,这个时候可以使用or进行多字段匹配,但速度比较慢,大系统最好使用专业的搜索方法
or表示在数组里的条件满足一个即可,$regex表示一个正则表达式,匹配了key,同时,加入了$option的$i表示忽略大小写
Job.find({ $or: [ {"description": {"$regex": key, $options: "$i"}}, {"city": {"$regex": key, $options: "$i"}}, {"name": {"$regex": key, $options: "$i"}}] }) .populate("JobType", "name") .exec(function (err, jobs) { if (err) { callback(err); } else { callback(null, jobs); } })
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/18865.html
摘要:查询条件控制返回的字段控制选项回调函数。改查询条件需要修改的数据,不能修改主键控制选项回调函数,返回的是受影响的行数。执行查询,回调函数。使用链式语句时,可以在之后接执行查询,并指定回调函数。 初学Node.js接触到MongoDB数据库,阅读资料中推荐的都是Mongoose模块,可以更加方便的对数据库进行操作,便开始接触Mongoose。在学习时碰到许多基础问题,查阅了许多资料理来理...
摘要:是在环境下对进行便捷操作的对象模型工具安装一开始需要安装环境以及数据库,然后创建数据文件夹并且启动安装启动。出错返回符合条件的文档数。修改后的标题同上取反,删除一个字段执行后字段不存在增减修改器,只对数字有效。 Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具 安装 一开始需要安装node.js环境以及mongodb数据库,然后创建mongdb数据文件...
摘要:当然,可以使用方法来简写代码删除第个元素类似的,该方法也不能省略回调函数,否则数据不会被删除。 走在前端的大道上 Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具 因此,要使用mongoose,则必须安装node.js环境以及mongodb数据库。mongoose使mongodb操作更简单便捷。可以在 github 中获得其源码,也可以在这里查看 ap...
摘要:学习注定少不了与数据库打交道,而和可以说是绝配,这篇主要是简单介绍这个模块。通过创建查询是数据库中运用最多也是最麻烦的地方,这里对解读的并不完善,仅仅是自己的一点领悟而已。 学习Node注定少不了与数据库打交道,而MongoDB和Node可以说是绝配,这篇主要是简单介绍Mongoose这个模块。由于本人也是边学边写的这篇文章,绝对会有新手的味道,请大神看到这里就表往下看了。 名词介绍稍...
阅读 3926·2021-11-24 10:46
阅读 1818·2021-11-16 11:44
阅读 2293·2021-09-22 16:02
阅读 1405·2019-08-30 15:55
阅读 1133·2019-08-30 12:46
阅读 568·2019-08-28 18:31
阅读 2764·2019-08-26 18:38
阅读 1098·2019-08-23 16:51