這適用於sails-disk適配器,但不適用於sails-mongo或sails-postgresql。Sails.js關聯:一對多關聯中沒有保存到MongoDB或Postgres(與磁盤數據庫)的「多」一側
我有2個模型,飼料和事件,飼料可以屬於許多事件。
當我創建或保存具有關聯到一個或多個事件(通過「posts」屬性)的新Feed記錄時,不會保存「posts」屬性。但是,當我創建或保存一個具有與一個Feed關聯的新事件(通過「發佈」屬性)時,「發佈」屬性會正確保存。問題:我無法從Feed端查詢Feed及其事件(使用Sails的.populate
),只能從Event端查詢。
我可以確認傳遞給Feed.create
的數據包含「posts」屬性,然後來自回調的響應沒有。
sails.log.debug('Before Feed.create', data);
Before Feed.create { id: 64988,
username: 'anevening',
displayName: 'An Evening',
coverImage: 'http://res.cloudinary.com/dostuff-media/image/upload/v1387144880/metro-bkg_1-30.png',
profileImage: 'http://res.cloudinary.com/dostuff-media/image/upload/v1387144880/metro-bkg_1-30.png',
description: undefined,
links: [],
source:
{ domain: 'dola.com',
id: 64988,
url: 'http://www.dola.com/artists/an-evening' },
posts: [ 3055349, 3062549, 2866105, 2866107 ] }
Feed.create(data).exec(sails.log.debug);
{ username: 'anevening',
displayName: 'An Evening',
coverImage: 'http://res.cloudinary.com/dostuff-media/image/upload/v1387144880/metro-bkg_1-30.png',
profileImage: 'http://res.cloudinary.com/dostuff-media/image/upload/v1387144880/metro-bkg_1-30.png',
description: null,
links: [],
source:
{ domain: 'dola.com',
id: 64988,
url: 'http://www.dola.com/artists/an-evening' },
createdAt: Sat Nov 22 2014 14:53:21 GMT-0800 (PST),
updatedAt: Sat Nov 22 2014 14:53:21 GMT-0800 (PST),
id: '64988' }
這裏是我的模型是這樣的:
Feed.js:
module.exports = {
attributes: {
id: {
type: 'integer',
unique: true,
primaryKey: true
},
...
posts: {
collection: 'event',
via: 'posted'
}
...
}
};
Event.js:
module.exports = {
attributes: {
id: {
type: 'integer',
unique: true,
primaryKey: true
},
...
posted: {
model: 'feed'
}
...
}
};
最後,這裏就是我的配置/ models.js和config/connections.js的外觀如下:
個連接:{
'default': 'mongo',
localDiskDb: {
adapter: 'sails-disk'
},
mongo: {
adapter: 'sails-mongo',
url: process.env.MONGO_HOST',
schema: true
},
postgres: {
adapter: 'sails-postgresql',
url: process.env.POSTGRES_HOST,
schema: true,
ssl: true
}
},
models: {
connection: 'mongo',
migrate: 'alter'
}
我創建了一個新的職位的問題的更詳細的聲明:http://stackoverflow.com/questions/27896657/sails-js-many-to-many-associations-throw-error-on -create-and-populate – senornestor 2015-01-12 06:48:28