2017-07-16 3 views
0

私はRethinkdbでデータベースを作成している。ここに私のデータベース形式は次のとおりです。Rethinkdb Appendは、それが存在するときに属性が存在しないと言う。

{ 

"Email": [email protected], » 
"Password": "totallyahash1234" 
, 
"UserName": "CoolDude3" , 
"id": "6a4bb963-687a-48c2-b3f0-2e91965d3515" , 

"Projects": { 
    "Project1": { 
     "Array1": [ 
     { 
      "DataSet1": { 
      "Type": "12" 
      } 
     } 
     ], 
     "Array2": [], 
     "Array3": [] 
    } 
} 
} 

そして私はとのアレイ1を追加しよう:「 、1:

r.table('users').filter(r.row("UserName").eq(UserName)).update(
     {Projects: {Project1: {Array1: 
r.row("Array1").default([]).append(NewDataSet)}}} 
    ).run(connection, function(err, result) { 
     if (err) throw err; 
     console.log(JSON.stringify(result, null, 2)); 
    }); 

しかし、私はやるときに私が言うエラーが出る: 「エラー」 first_error「:」いいえオブジェクトの属性Array1 :. しかし、この属性は明らかにデータベースに存在しているあなたはArray1へのフルパスを指定する必要がr.rowで:)

答えて

1

を助けてください:

r.table('users').filter(r.row("UserName").eq(UserName)).update(
     {Projects: {Project1: {Array1: 
r.row("Projects")("Project1")("Array1").default([]).append(NewDataSet)}}} 
    ).run(connection, function(err, result) { 
     if (err) throw err; 
     console.log(JSON.stringify(result, null, 2)); 
    }); 
+0

驚くばかり!あなたに感謝します – Kalebot

関連する問題