帆0.10和多对多关联 – 获取所有相关的数据,而不是第一个

我有2个模型与多对多关联。 我的代码关联这两个模型运行良好(它创build一个新的集合item_languages__language_items与相应的文件里面)。 但是,我无法获得特定项目的所有相关数据(语言)。 我正在使用MongoDB。

 // Item.js module.exports = { schema: true, autoPK: false, attributes: { uuid: { type: 'string', primaryKey: true, unique: true, required: true, uuidv4: true }, languages: { collection: 'language', via: 'items', dominant: true } } } // Language.js module.exports = { schema: true, autoPK: false, attributes: { code: { type: 'string', primaryKey: true, required: true, minLength: 2, maxLength: 2, unique: true }, items: { collection: 'item', via: 'languages' } } } 

存储在item_languages__language_items集合中的数据:

 /* 0 */ { "language_items" : "es", "item_languages" : "69e4f3a3-1247-4a06-ae2d-9df27ac9495b", "_id" : ObjectId("5330bcebf8e0b61509c771d5") } /* 1 */ { "language_items" : "fr", "item_languages" : "69e4f3a3-1247-4a06-ae2d-9df27ac9495b", "_id" : ObjectId("5330bd26f8e0b61509c771d6") } /* 2 */ { "language_items" : "en", "item_languages" : "69e4f3a3-1247-4a06-ae2d-9df27ac9495b", "_id" : ObjectId("5330bedcc076355b09da3ccd") } 

现在在我的ItemController.js ,我想获得一个具有所有相关语言的特定项目:

 Item .findOne({uuid: '69e4f3a3-1247-4a06-ae2d-9df27ac9495b'}) .populate('languages') .exec(function (e, r) { console.log(r.toJSON()); }); 

但是在这里,当我期望得到3种相关的语言时,我只用1种相关的语言来获得我的物品。

这似乎是sails-mongo的当前beta版本中的一个错误,它使用自定义键值不能正常工作。 请发布到sails-mongo论坛 ! 同时唯一的解决scheme似乎是使用默认的MongoDB主键。