我正在研究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使用我的用户填充子集合?
答案 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}}