2015-07-25 14 views
3

Выбор родителя с одним из детей не работает в Sails JS. Скорее, мой оператор select не дает результата. Так, в поисках лучшего ответаSailsJS (0.11.0 также 0.12-rc3): выбор родительских данных из идентификатора ребенка в отношениях 1 - M

Model 1: Пользователь

module.exports = { 

    attributes: { 

     name:{ 
      type:"string", 
      required:true, 
      minLength: 3 
     }, 
     age:{ 
      type:"int", 
      required:true, 
      unique: false 
     }, 
     pets : { 
      collection : 'pet', 
      via : 'owners', 
      dominant: true 
     } 
    } 
    }; 

Модель 2: Pet

  module.exports = { 

     attributes: { 
      name:{ 
      type:"string", 
      required:true, 
      minLength: 2 
      }, 
      color:{ 
      type:"string", 
      required:true, 
      unique: false 
      }, 
      owners:{ 
      model : 'user' 
      } 
     } 
    }; 

данных в системе

  { 
      pets: [ 
      { 
       name: "jimmy", 
       color: "blue", 
       createdAt: "2015-07-25T05:39:57.207Z", 
       updatedAt: "2015-07-25T05:43:06.570Z", 
       owners: "55b31e06b234f3a6bcab32c6", 
       id: "55b3212db234f3a6bcab32c9" 
      } 
      ], 
      name: "John", 
      age: "20", 
      createdAt: "2015-07-25T05:26:30.415Z", 
      updatedAt: "2015-07-25T05:26:30.415Z", 
      id: "55b31e06b234f3a6bcab32c6" 
     } 

Итак, выберите Заявления в парусами пульту

A) Нахождение ребенка (домашних животных) от родителя (пользователей)/Владелец ID

sails> Pet.find({}).where({"owners":"55b31e06b234f3a6bcab32c6"}).exec(console.log) 

    null [ { owners: '55b31e06b234f3a6bcab32c6', 
     name: 'jimmy', 
     color: 'blue', 
     createdAt: '2015-07-25T05:39:57.207Z', 
     updatedAt: '2015-07-25T05:43:06.570Z', 
     id: '55b3212db234f3a6bcab32c9' } ] 

Эта проблема решена в https://github.com/balderdashy/waterline/issues/410

B) Поиск родителя (пользователя) от ребенка ID (Pet)

sails> User.find({}).where({"pets":"55b3212db234f3a6bcab32c9"}).exec(console.log) 
    undefined 
    sails> User.find({}).where({"pets":"55b3212db234f3a6bcab32c9"}).exec(console.lognull [] 
    sails> User.find({}).where({"pets.id":"55b3212db234f3a6bcab32c9"}).exec(console.log) 
    undefined 
    sails> null [] 

    undefined 
    sails> User.find({}).where({"pets":{"id":"55b3212db234f3a6bcab32c9"}}).exec(console.log) 
    undefined 
    sails> null [] 
    sails> User.find({}).where({"pets":{"id":"55b3212db234f3a6bcab32c9"}}).exec(console.log) 

Можете ли вы, пожалуйста, направить меня в приведенном выше выборе в SailsJS?

Спасибо и наилучшими пожеланиями,

Радж

ответ

2

По взаимодействию с SailsJS группы по https://github.com/balderdashy/waterline/issues/1102, я принимаю это как разрешение на это время. Надежда ситуация будет улучшаться в соответствии с другими вопросами, перечисленных в Github (ватерлинии)

sails> Pet.find({id: '55b3212db234f3a6bcab32c9'}).populate('owners').exec(console.log) 
undefined 
sails> 
undefined 
sails> null [ { owners: 
    { name: 'MyUser', 
     age: '20', 
     createdAt: '2015-07-25T05:26:30.415Z', 
     updatedAt: '2015-07-25T05:26:30.415Z', 
     id: '55b31e06b234f3a6bcab32c6' }, 
    name: 'jimmy', 
    color: 'blue', 
    createdAt: '2015-07-25T05:39:57.207Z', 
    updatedAt: '2015-07-25T05:43:06.570Z', 
    id: '55b3212db234f3a6bcab32c9' } ] 

А для пользователя

User.find({id:'55b31e06b234f3a6bcab32c6'}).populate('pets').exec(console.log)null [ { pets: 
    [ { name: 'jimmy', 
     color: 'blue', 
     createdAt: '2015-07-25T05:39:57.207Z', 
     updatedAt: '2015-07-25T05:43:06.570Z', 
     owners: '55b31e06b234f3a6bcab32c6', 
     id: '55b3212db234f3a6bcab32c9' } ], 
    name: 'MyUser', 
    age: '20', 
    createdAt: '2015-07-25T05:26:30.415Z', 
    updatedAt: '2015-07-25T05:26:30.415Z', 
    id: '55b31e06b234f3a6bcab32c6' } ] 

 Смежные вопросы

  • Нет связанных вопросов^_^