有书架的Node.js; 使用ID数组设置多对多关系的值
我正在使用Bookshelf的Node.js来设置一个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) } })
数据库有一个会话和用户表,以及一个具有user_id
和conversation_id
字段的conversations_users表。
所以我一直在阅读文档,我正在努力弄清楚如何创build一个与现有用户具有给定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) }) }
你需要像这样在你的集合上使用add方法:
Conversations_Users.add({userId:1,conversation_id:1});
然后打电话
Conversations_Users.save()