【问题标题】:How to get join result using mongoose populate, match (2 collections)如何使用猫鼬填充、匹配(2 个集合)获得连接结果
【发布时间】:2017-01-15 13:19:08
【问题描述】:

用户架构

var UsersSchema = new Schema({
username:String,
city:String
},{collection:'User'});
 //sample data {'username':'7700010000',city:'mumbai'}

学院架构

var College = new Schema({
    college:String,
    user_sess:[type:String,ref:"User"]},{collection:'College'});
    //sample data {'college':'adarsh college','user_sess':'Sess$7700010000'}

我正在尝试根据 user_sess 从大学收藏中获取结果。但问题是 user_sess 的值具有前缀值 'Sess$'

所以 user_sess = 前缀 + 用户名 来自集合 User

   var prefix = 'Sess$';
   College
    .find({ "user_sess": prefix + req.body.user_id})
    .populate({'user_sess'})
    .exec(function (err, users) {
        console.log();
    if (err)
    res.send(err);
    res.json(users);
    });

如果 user_sess 匹配,那么结果应该是这样的

    {'college':'adarsh college','username':'7700010000','city':'mumbai'}

【问题讨论】:

    标签: node.js mongoose mongoose-schema mongoose-populate


    【解决方案1】:

    我已经通过在我各自的集合中添加引用键来解决它,因为我尝试了正则表达式,但它在我的响应中增加了额外的延迟。我们正在使用解析服务器框架,但我们想摆脱它,但由于解析保存数据的方式不同,我无法使用猫鼬模式进行连接。

    谢谢。

    【讨论】:

      猜你喜欢
      • 2016-07-23
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      • 2015-08-26
      • 2018-12-04
      • 2018-08-23
      • 2016-12-22
      • 1970-01-01
      相关资源
      最近更新 更多