2016-06-17 7 views
0

javascript関数のリンク値としてリンクマップに要素を挿入するにはどうすればよいですか? は、私はすでに試した(.getRecord()フィールド( 'RID @')。)orientdb - javascriptサーバ側の関数でlinkmapに入れよう

私は私の時系列データにいくつかのエントリを追加しようとしています:私は次のエラーを取得する

​​

{ 
    "errors": [ 
     { 
      "code": 500, 
      "reason": 500, 
      "content": "com.orientechnologies.orient.core.exception.OCommandExecutionException: field day defined of type LINKMAP accept only link values\r\n\tStorage URL=\"plocal:/Users/alexandre/Desktop/prototype-api/orientdb-community-2.2.0/bin/~/orientdb/databases/prototype\"" 
     } 
    ] 
} 

私のデータベーススキーマ:

create class Year extends V; 
create class Month extends V; 
create class Day extends V; 
create class Hour extends V; 
create class Minute extends V; 

create property Year.year integer; 
create index Year.year ON Year(year) UNIQUE_HASH_INDEX; 
create property Year.month LINKMAP Month; 
create property Month.day LINKMAP Day; 
create property Day.hour LINKMAP Hour; 
create property Hour.minute LINKMAP Minute; 
create property Minute.log LINKMAP V; 
create property Minute.minute integer; 

答えて

0

クエリビルダにはありませんSQLコマンドの文字列を使用するように@ridフィールドをフォーマットします。

var db = orient.getDatabase(); 
var createdYear = db.save({ "@class" : "Year", year : year}); 
var createdMonth = db.save({ "@class" : "Month", month : month}); 
var createdDay = db.save({ "@class" : "Day", day : day}); 
var createdHour = db.save({ "@class" : "Hour", hour : hour}); 
var createdMinute = db.save({ "@class" : "Minute", minute : minute}); 

var updateYearString = "update Year put month = \""+month+"\", "+ createdMonth.getRecord().field('@rid') + " where year = "+year; 
var updateMonthString = "update "+ createdMonth.getRecord().field('@rid') + " put day = \""+day+"\", "+ createdDay.getRecord().field('@rid'); 
var updateDayString = "update "+ createdDay.getRecord().field('@rid') + " put hour = \""+hour+"\", "+ createdHour.getRecord().field('@rid'); 
var updateHourString = "update "+ createdHour.getRecord().field('@rid') + " put minute = \""+minute+"\", "+ createdMinute.getRecord().field('@rid');  

db.command(updateYearString); 
db.command(updateMonthString); 
db.command(updateDayString); 
db.command(updateHourString); 

return true; 
関連する問題