Node.js 带书架;为与 ID 数组的多对多关系设置值
Node.js w/ Bookshelf; set values for a many-to-many relation with an array of IDs
我正在使用 Node.js 和 Bookshelf 来设置 API。请求中的 JSON 看起来像这样
{
conversation: {
user_ids: [1, 2, 3, 4]
}
}
对话对象如下所示:
var Conversation = storeManager.bookshelf.Model.extend({
tableName: 'conversations',
users: function() {
this.belongsToMany(User)
}
})
用户长这样:
var User = storeManager.bookshelf.Model.extend({
tableName: 'users',
conversations: function() {
return this.belongsToMany(Conversation)
}
})
数据库有对话和用户 table 以及具有 user_id
和 conversation_id
字段的 conversations_users table。
所以我一直在浏览文档,我正在努力弄清楚如何创建一个与具有给定 ID 的现有用户有关系的对话对象。
这是目前我的控制器中的内容
ConversationController.prototype.create = function(req, res, next) {
// Create the conversation
Conversation.forge().set('users', req.body['conversation']['user_ids']).save().then(function(model) {
req.conversation = model
next()
}).catch(function(err) {
res.status(400).send(err)
})
}
您需要像这样在您的集合上使用添加方法:
Conversations_Users.add({userId:1,conversation_id:1});
然后打电话给
Conversations_Users.save()
我正在使用 Node.js 和 Bookshelf 来设置 API。请求中的 JSON 看起来像这样
{
conversation: {
user_ids: [1, 2, 3, 4]
}
}
对话对象如下所示:
var Conversation = storeManager.bookshelf.Model.extend({
tableName: 'conversations',
users: function() {
this.belongsToMany(User)
}
})
用户长这样:
var User = storeManager.bookshelf.Model.extend({
tableName: 'users',
conversations: function() {
return this.belongsToMany(Conversation)
}
})
数据库有对话和用户 table 以及具有 user_id
和 conversation_id
字段的 conversations_users table。
所以我一直在浏览文档,我正在努力弄清楚如何创建一个与具有给定 ID 的现有用户有关系的对话对象。
这是目前我的控制器中的内容
ConversationController.prototype.create = function(req, res, next) {
// Create the conversation
Conversation.forge().set('users', req.body['conversation']['user_ids']).save().then(function(model) {
req.conversation = model
next()
}).catch(function(err) {
res.status(400).send(err)
})
}
您需要像这样在您的集合上使用添加方法:
Conversations_Users.add({userId:1,conversation_id:1});
然后打电话给
Conversations_Users.save()