Rethinkdb Append 表示属性不存在
Rethinkdb Append says attribute doesn't exist when it does
我一直在使用 Rethinkdb 创建数据库。这是我的数据库格式:
{
"Email": blah@blah.com, »
"Password": "totallyahash1234"
,
"UserName": "CoolDude3" ,
"id": "6a4bb963-687a-48c2-b3f0-2e91965d3515" ,
"Projects": {
"Project1": {
"Array1": [
{
"DataSet1": {
"Type": "12"
}
}
],
"Array2": [],
"Array3": []
}
}
}
然后我尝试在数组 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));
});
但是当我这样做时,我收到一条错误消息:
"errors": 1,
"first_error": "对象中没有属性 Array1
:.
然而这个属性显然存在于数据库中。请帮助:)
对于 r.row
,您需要指定 Array1
的完整路径:
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));
});
我一直在使用 Rethinkdb 创建数据库。这是我的数据库格式:
{
"Email": blah@blah.com, »
"Password": "totallyahash1234"
,
"UserName": "CoolDude3" ,
"id": "6a4bb963-687a-48c2-b3f0-2e91965d3515" ,
"Projects": {
"Project1": {
"Array1": [
{
"DataSet1": {
"Type": "12"
}
}
],
"Array2": [],
"Array3": []
}
}
}
然后我尝试在数组 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));
});
但是当我这样做时,我收到一条错误消息:
"errors": 1,
"first_error": "对象中没有属性 Array1
:.
然而这个属性显然存在于数据库中。请帮助:)
对于 r.row
,您需要指定 Array1
的完整路径:
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));
});