Javascript sailsjs中的模型关联
我想在SAILS.JS中创建一个模型与另外两个模型的模型关联。但是我在编译时出错了 这个模型是User.jsJavascript sailsjs中的模型关联,javascript,associations,sails.js,models,waterline,Javascript,Associations,Sails.js,Models,Waterline,我想在SAILS.JS中创建一个模型与另外两个模型的模型关联。但是我在编译时出错了 这个模型是User.js module.exports = { attributes: { email: { type: 'string', required: true, unique: true }, password: { type: 'string', required: true, }, googl
module.exports = {
attributes: {
email: {
type: 'string',
required: true,
unique: true
},
password: {
type: 'string',
required: true,
},
google: {
model:'Google'
},
facebook: {
model:'Facebook'
}
}
};
这个模型是Google.js
module.exports = {
attributes: {
kind: 'string',
gender: 'string',
sub: 'string',
name: 'string',
given_name: 'string',
family_name: 'string',
profile: 'string',
picture: 'string',
email: 'string',
email_verified: 'string',
locale: 'string',
user:{
model:'User'
}
}
};
这个模型是Facebook.js
module.exports = {
attributes: {
name: 'string',
id: 'string',
user:{
model:'User'
}
}
};
我得到以下错误
/usr/lib/node_modules/sails/node_modules/waterline/node_modules/waterline-schema/lib/waterline-schema/foreignKeys.js:104
throw new Error(error);
^
Error: Trying to create an association on a model that doesn't have a Primary Key.
at ForeignKeys.findPrimaryKey (/usr/lib/node_modules/sails/node_modules/waterline/node_modules/waterline-schema/lib/waterline-schema/foreignKeys.js:104:11)
at ForeignKeys.replaceKeys (/usr/lib/node_modules/sails/node_modules/waterline/node_modules/waterline-schema/lib/waterline-schema/foreignKeys.js:53:27)
at new ForeignKeys (/usr/lib/node_modules/sails/node_modules/waterline/node_modules/waterline-schema/lib/waterline-schema/foreignKeys.js:30:10)
at new module.exports (/usr/lib/node_modules/sails/node_modules/waterline/node_modules/waterline-schema/lib/waterline-schema.js:30:17)
at Waterline.initialize (/usr/lib/node_modules/sails/node_modules/waterline/lib/waterline.js:107:17)
at buildORM (/usr/lib/node_modules/sails/lib/hooks/orm/build-orm.js:52:15)
at Array.async.auto.instantiatedCollections (/usr/lib/node_modules/sails/lib/hooks/orm/index.js:203:11)
at listener (/usr/lib/node_modules/sails/node_modules/async/lib/async.js:490:46)
at /usr/lib/node_modules/sails/node_modules/async/lib/async.js:441:17
at _each (/usr/lib/node_modules/sails/node_modules/async/lib/async.js:46:13)
at Immediate.taskComplete (/usr/lib/node_modules/sails/node_modules/async/lib/async.js:440:13)
at processImmediate [as _immediateCallback] (timers.js:367:17)
嗯,在发布问题2分钟后,我看到了问题。我在facebook模型中使用了一个id属性,这是一个主键属性。
因此是错误的。已解决。嗯,在发布问题2分钟后,我看到了问题。我在facebook模型中使用了一个id属性,这是一个主键属性。因此是错误的。已解决。您可以发布自己的问题答案。这会让其他人更清楚地知道答案。谢谢你的建议。事情总是这样发生的。:)仅供参考,如果您想与其他用户实时讨论任何Sails.js问题,请查看我们的Gitter页面。