【发布时间】:2017-03-17 13:02:14
【问题描述】:
我正在使用 Mongoose 创建一个 Mongodb 数据库,其表结构类似于下面列出的 Group.js 文件中的表结构。当我的代码调用 findOne 时,我收到下面列出的转换错误:
值 \"{ FirstName: 'John',\n MiddleName: null,\n LastName: 'Doe'\n Address: '1234 Anywhere St.' 的转换失败}\" 在路径 \"_id\"
Group.js(模型文件)
let UserSchema = mongoose.Schema({
FirstName: String,
MiddleName: String,
LastName: String,
Address: String
});
let User = mongoose.model(‘User', UserSchema);
let GroupSchema = mongoose.Schema({
name: type: String,
groupType: String,
users: [UserSchema]
});
module.exports = mongoose.model('Group', GroupSchema);
GroupRepository.js(获取组及其关联用户列表的方法调用)
findGroupPopulateUsers(paramList, cb){
this.group.findOne(paramList).populate('users').exec(function (err, entity) {
if (!err)
cb(err, entity);
else
cb(err);
});
}
在注入 GroupRepository 类之前声明组模型
const user = require('../models/Group');
这是我传递给 findGroupPopulateUsers 方法调用的 paramList
{"groupType": "free"}
我对触发此错误的原因感到困惑?我试图遵循文档。在处理子文档人口的猫鼬网站上。请让我知道我在关于如何填充子文档的规则中遗漏了什么?
这是我注意到的一件奇怪的事情,所以子文档似乎返回了,如果我不指定“.populate(....)”方法调用,我不会收到错误消息。但是,如果我尝试访问用户子文档的“_id”字段,它会不断返回未定义。
【问题讨论】:
-
您可以将您的 paramList 添加到您的问题中吗?
-
会的。我将添加到代码部分的底部。
-
您可以为用户和组架构添加一个示例文档吗?
-
维杰你什么意思?