0

我的 mysql 数据库中有 2 个表OwnersPets. 我正在使用 node.js 和node-orm来访问数据库。我想选择拥有棕色宠物但我不知道该怎么做的主人。

这是我没有运气的尝试:

// Require Dependencies
var mysql = require('mysql')
var orm = require('orm')

// Connect to Database
orm.connect("mysql://root:@localhost/example", function (err, database) {
    // Define Owner Model
    var Owner = database.define('owner', {
        name: String
    })

    // Define Pet Model
    var Pet = database.define('pets', {
        name: String,
        color: String,
    })

    // Create Association between Pets and Owners
    Pet.hasOne('owner', Owner, { reverse: 'pets' })

    // Select Owners who own a brown Pet
    Owner.find({ 
        pets: { 
            color: 'brown' 
        } 
     }, function(error, owners){
        if(error) throw error
        console.log(owners)
    })
})

pets/列在那里是因为没有错误(如果我使用不存在的列名,它会给我一个错误),但是它对查询完全没有影响。这可能node-orm吗?如果没有,我应该使用哪个 orm?

4

1 回答 1

0

尝试使用Owner.findByPets({ color: 'brown' })基于https://github.com/dresende/node-orm2#hasone

于 2015-01-15T14:22:14.917 回答