根据用户ID

时间:2018-01-31 03:05:10

标签: node.js angular mongodb mongoose

我正在研究MEAN应用程序。我正在尝试为每个登录的用户管理单独的数据。我需要在我的主要集合用户下填充子集合。

user.js的

var mongoose = require("mongoose");
var userSchema = new mongoose.Schema({
username: String,
email: { type: String, unique: true, lowercase: true, trim: true },
password: String,
role: String,
pwd_token: String
});
var User = mongoose.model('User', userSchema);
 exports.default = User;

cat.js

var mongoose = require("mongoose");
var catSchema = new mongoose.Schema({
name: String,
breed: String,
colour: String
});
var Cat = mongoose.model('Cat', catSchema);
exports.default = Cat;

如何根据用户ID使用我的用户填充子集合?

1 个答案:

答案 0 :(得分:0)

因此,在用户 [User.js]模型中有一个名为cat_id的模型,其中包含Cat _id。哪个是Cat模型的参考。

var mongoose = require("mongoose");
    var userSchema = new mongoose.Schema({
    username: String,
    email: { type: String, unique: true, lowercase: true, trim: true },
    password: String,
    role: String,
    pwd_token: String,
    cat_id:{
      type:mongoose.Schema.Types.ObjectId,
      ref:"Cat" //Reference Of Cat Model otf Type ObjectId
    }
    });
    var User = mongoose.model('User', userSchema);
     exports.default = User;

现在,如果您在从Cat进行查询时,只需populate("user_id")填充与该user_id相关的用户文档

示例查询: 此查询将为您提供所有User个文档。填充相关的Cat doc。

User.find({}).populate("cat_id").exec()

以下是.populate() <{1}}

doc