水线OrientDB – 双向边缘

我在Sails中声明了两个模型,我正在使用Waterline-Orientdb适配器,不知道如何通过双向边连接它们

问题模型

var Waterline = require('waterline'); module.exports = Waterline.Collection.extend({ tableName: 'questionsTable', identity: 'questions', connection: 'associations', attributes: { id: { type: 'string', primaryKey: true, columnName: '@rid'}, question : { type: 'string'}, user: { model: "User", required: true }, answerOptions: {type: 'json'}, imagefile: {type:'string'}, answers: { collection: 'answer', via: 'questions', dominant:true } } }); 

答案模型

 var Waterline = require('waterline'); module.exports = Waterline.Collection.extend({ tableName: 'answerTable', identity: 'answer', connection: 'associations', attributes: { id: { type: 'string', primaryKey: true, columnName: '@rid' }, Answer: { type: 'string' }, questions: { collection: 'questions', via: 'answer' } } }); 

我希望能够在两个模型之间创造一个边缘。 用户创build一个问题,然后用户可以发布一个响应。

你的答案有一个错字:

 questions: { collection: 'questions', via: 'answer' } 

应该

 questions: { collection: 'questions', via: 'answers' // answers as that is the attribute name in questions model } 

示例来创build问题,答案然后链接它们:

 var question1; ontology.collections.questions.create({ question: 'question1' }) .then(function(question){ question1 = question; return ontology.collections.answer.create([{ answer: 'answer1' }, { answer: 'answer2' }]); }) .then(function(answers){ question1.answers.add(answers[0]); question1.answers.add(answers[1]); return question1.save(); }) 

我在github.com/appscot/waterline-orientdb上创build了一个运行示例。

问候

更新: waterline-orientdb现在被命名为sails-orientdb。