gpt4 book ai didi

javascript - 我无法在 Sails.js 上建立简单的关联(关系模型的字段显示未定义)

转载 作者:行者123 更新时间:2023-12-03 12:22:52 25 4
gpt4 key购买 nike

我一直在 v0.9.16 和更高版本的 v.10.0.rc8 上尝试简单的“单向关联”。我猜,我做错了什么。我的 MongoDB 上有两个集合,并且有两个模型和一个 Controller ,如下所示;

我的 User.js 文件;

module.exports = {

connection: 'mongo',

attributes: {

username: {
type: 'string',
required: true
},

encryptedPassword: {
type: 'string' ,
required: true
},

//one way association
personel: {
model: 'Personel'
}

}
};

我的 Personel.js 文件;

module.exports = {

connection: 'mongo',

attributes: {
name: 'string',
phone: {
mobile: 'string',
office: 'string'
},
email: 'string',
gender: 'string'
department: {
department_id: 'integer',
department_name: 'string'
},
title: {
title_id: 'integer',
title_name: 'string'
}
}
};

我的 UserController.js 文件;

module.exports = {
show : function (req, res) {
User
.findOne(req.param('id'))
.populate('personel')
.exec(function(err, user) {
console.log(user);
});

}

控制台为人员字段写入“未定义”;

{ username: 'jkidd',
personel_id: '1',
personel: undefined }

编辑

为了提供关联,我刚刚将以下代码添加到我的用户模型中

//one way association
personel: {
model: 'Personel'
}

我正在努力

show : function (req, res) {
User
.findOne(req.param('id'))
.populate('personel')
.exec(function(err, user) {
if(err) return res.json(err, 400);
if(!user) return res.json({ error: 'No User with that Id' }, 404);

console.log(user);

res.view({
user : user
});
});
}

最佳答案

您错过了 Personel.js 中的关联:

module.exports = {
connection: 'mongo',
attributes: {
department_id: 'integer',
department_name: 'string',
owner: {
model: "User"
}
},

}

查看更多信息:http://beta.sailsjs.org/#/documentation/reference/Models/Associations/OnetoOne.html

提示:您不需要为您配置 _id - 水线句柄!

编辑:

也是一个问题

并且您不能使用“嵌套属性”(请参阅​​: How to translate models in Sails.js? )。也改变它!

编辑:你就快到了...;-)

module.exports = {

attributes: {

username: {
type: 'string',
required: true
},

encryptedPassword: {
type: 'string' ,
required: true
},

//one way association
personel: {
model: 'user'
},

},
};

和你的 personel.js

module.exports = {

attributes: {

name: 'string',

email: 'string',

gender: 'string',

owner: {
model: 'user',
},

},

};

关于javascript - 我无法在 Sails.js 上建立简单的关联(关系模型的字段显示未定义),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24355022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com