Node-Orm hasOne关系未正确形成

时间:2014-04-22 14:52:13

标签: node.js node-orm2

var User = db.define('user', {
    user_id : Number,

    work_phone : String,
    mobile_phone : String
}, {
    id: 'user_id'
    , autoFetch: true
    , cache: true
}) ;


var UserCloud = db.define('user_cloud', {
    id : Number,
    file_path : String,
    user_id : Number,
    file_size : String, //not used
    date_added : Date,
    date_modified : Date,
    is_disclaimer : Number,
    folder_id : String

}, {
    autoFetch: true
}) ;


UserCloud.hasOne('user', User, {
        field: 'user_id'
        , autoFetch: true
 })

这种关系不会形成!它在UserCloud实例上设置了函数getUser和hasUser,但它没有设置用户属性。

然而,在用户上设置一个simlar hasOne关系适用于其他“类”。此外,UserCloud还有其他未经形成的关系。

我不知道还有什么其他例子,也不知道在哪里看。我没有在One.js中看到提供方向的任何内容,我真的在黑暗中寻找任何指针/洞察力。

1 个答案:

答案 0 :(得分:0)

好的,没有发布赢得原始问题:

    var UserCloud = db.models.user_cloud
    var UserCloudFolder = db.models.user_cloud.user_cloud_folders

最大的问题是在第二个模型上出现了意外的模型链接:

    var UserCloudFolder = db.models.user_cloud.user_cloud_folders\

应该

    var UserCloudFolder = db.models.user_cloud_folders

修正了它。我发现orm试图将UserCloud链接回另一个UserCloud,这导致我超越了关联的定义。所以你有它 - 没有错误,只是没有工作。