2017-03-15 5 views
1

NodeJSサーバーでOrientJSフレームワークを使用してオブジェクトをデータベースに保存しようとしています。 このオブジェクトには、いくつかのネイティブパラメーターと、別のクラスのレコードを指すRIDの配列が含まれています。これを参照してください:OrientJSを使用してリンクリストを使用してレコードを作成するときのエラー

var myObj = { 
    name: 'myNewObjectName', 
    '@class': 'OuterClass', 
    parameter: ['#225:13'] 
} 

OrientDBクラス内では、「パラメータ」-fieldはLINKLISTとして定義されています。私はこのオブジェクトの新しいレコードを作成しようとすると、しかし、:

db.record.create(myObj).then(function(record){ 
    console.log(record); 
}); 

を私は例外を取得:

Unhandled rejection OrientDB.RequestError: For input string: "#225" at child.Operation.parseError (C:\Users\...\node_modules\orientjs\lib\transport\binary\protocol33\operation.js:864:13) 
at child.Operation.consume (C:\Users\...\node_modules\orientjs\lib\transport\binary\protocol33\operation.js:455:35) 
at Connection.process (C:\Users\...\node_modules\orientjs\lib\transport\binary\connection.js:399:17) 
at Connection.handleSocketData (C:\Users\...\node_modules\orientjs\lib\transport\binary\connection.js:290:20) 
at emitOne (events.js:96:13) 
at Socket.emit (events.js:188:7) 
at readableAddChunk (_stream_readable.js:176:18) 
at Socket.Readable.push (_stream_readable.js:134:10) 
at TCP.onread (net.js:548:20) 

だから、何とかクラスタ以下のIDが渡されていませんか?私は何か間違っているのですか、これはバグですか?他に何ができますか?

ありがとうございました!

答えて

0

リンクを挿入するには、RIDオブジェクトを使用する必要があります。これを試して。

const RID = require('orientjs').RID; 
..... 
var myObj = { 
    name: 'myNewObjectName', 
    '@class': 'OuterClass', 
    parameter: [new RID('#225:13')] 
} 
+0

HIwolf4food。あなたの答えをありがとう!私は回避策を見つけ、専用の変数でorientDBから取り出すネストされたRIDを保持します。このようにして、RID文字列を混乱させることはありません。だから私はあなたのアプローチを正確には使っていませんでしたが、あなたが指摘した問題が私の問題の原因であったと思います。誰かがこの種の問題に遭遇した場合に備えて、あなたの提案はおそらく解決策です。乾杯! – Johannes

関連する問題