mongoose 主键关联的表,自动带出另一张表的数据
【摘要】
有这样两张表
addon_passwordbox_category
'use strict'var mongoose = require('mongoose'), Schema = mongoose.Schema /*** * 加密后的密码表 *2018年10月18日14:41:23 */var addon_pas...
有这样两张表
addon_passwordbox_category
-
'use strict'
-
var mongoose = require('mongoose'),
-
Schema = mongoose.Schema
-
-
/***
-
* 加密后的密码表
-
*2018年10月18日14:41:23
-
*/
-
var addon_passwordbox_list = new Schema({
-
email: String, // 用户邮箱
-
title: String, // 密码的标题
-
encryptedPassword: String, // 加密后的密码
-
catId: {type: Schema.Types.ObjectId, ref: 'addon_passwordbox_category'}, // addon-passwordbox-category表中对应的类别的_id
-
desc: String, // 密码的描述
-
CreatedDate: {type: Date, default: Date.now()} // 创建时间
-
})
-
-
mongoose.model('addon_passwordbox_list', addon_passwordbox_list)
-
-
'use strict'
-
var mongoose = require('mongoose'),
-
Schema = mongoose.Schema
-
-
/***
-
* 密码的分类表
-
*2018年10月18日14:41:23
-
*/
-
var addon_passwordbox_category = new Schema({
-
email: String, // addon-passwordbox-list表中的_id
-
name: String, // 没有加密的密码
-
desc: String, // 类别的描述
-
CreatedDate: {type: Date, default: Date.now()} // 创建时间
-
})
-
-
mongoose.model('addon_passwordbox_category', addon_passwordbox_category)
-
addon_passwordbox_list
二张表使用catId作为主键关联 现在查 addon_passwordbox_list 表时要自动带出关联的addon_passwordbox_category表的数据
使用
populate()
代码如下:
-
findAllByCondition: function (condition, callback) {
-
addon_passwordbox_list
-
.find(condition, {__v: 0})
-
.lean()
-
.populate('catId', 'id name')
-
.exec(function (err, reply) {
-
if (err) {
-
callback(err || new Error('find all by conditon error'))
-
} else {
-
callback(null, reply)
-
}
-
})
-
},
此外还可以这样用
-
.populate({
-
path: 'fans',
-
match: { age: { $gte: 21 }},
-
select: 'name -_id',
-
options: { limit: 5 }
-
})
文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。
原文链接:fizzz.blog.csdn.net/article/details/83307873
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)