我有兩個集合user
和userMapping
用戶對象被映射到usermapping集合與其他信息。我正在使用它的引用。填充數據貓鼬工作不正常?
這是我所創建的模式:
var userSchema = new userSchema({
userId : {type : mongoose.Schema.Types.ObjectId, ref : 'UserMapping'},
firstName: { type: String, required: true},
middleName : String,
lastName: { type: String, required: true},
jobTitle : String,
signumId : { type: String, required: true},
//userGroupId : { type: String, required: true},
emailAddress : { type: String, required: true, unique: true},
contactNumber : String,
status : Boolean,
image : String,
createdDate : String,
lastUpdatedData : String,
lastLogin: String
});
var userModel = mongoose.model('User', userSchema);
而且UserMapping模式是:
var userMappingSchema = new userMappingSchema({
userId: String,
userGroupId : { type: String, required: true},
createdDate : String,
lastUpdatedData : String
});
var userMappingModel = mongoose.model('UserMapping', userMappingSchema);
,之後我想填充數據,我只能從獲取數據用戶集合,但不是來自用戶映射集合。
代碼爲DB節省:
var userMappingWithGroup = new userMapping({
"userId": newUser._id,
"userGroupId": req.body.userGroupId
});
userMappingWithGroup.save(function(err, userGroup) {
if (err) {
res.json({
"message": err.message,
"statusCode": err.code
});
} else {
newUser.userId = userGroup._id
newUser.save(function(err) {
if(err){
res.json({
"message": err.message,
"statusCode": err.code
});
}else{
customError.errCode = 113;
next(customError);
}
});
}
});
在這裏,我是爲填充代碼:
var User = require('../models/user').userModel;
var userMapping = require('../models/userMapping').userMappingModel;
var fetchEditUser = function(req, res) {
console.log(req.params._id);
User.findOne({userId: req.params._id})
.populate('userId')
.exec(function (err, result) {
if(err) {
res.json({"message":"Error On Fetching Users from DB", "errorCode":500 });
}
else {
console.log(result);
res.json({"message":"success", "errorCode":200, "data": result });
}
});
};
任何人可以幫助我在哪裏,我做錯了,我是新來的MongoDB。
您正在用戶模型上填充,而引用存儲在userMapping中。再次檢查。 – nurulnabi
我想在獲取表單用戶集合的同時獲取數據。請告訴我該怎麼做。 –
因爲您需要在用戶架構中添加一個字段爲userId:{type:mongoose.Schema。Types.ObjectId,ref:'UserMapping'}' – nurulnabi