这个RethinkDB查询的解决方案已经困扰了我好几天了。我不是一个t-SQL开发人员......
给定这样的文档结构:
var messages = {
"Category A" : {
catName: 'Category A',
userInfo: {
userName: 'Hoot',
userId: 12345,
count: 77
}
},
"Category FOO" : {
catName: 'Category FOO',
userInfo: {
userName: 'Woot',
userId: 67890,
count: 42
}
}
}
其中“类别A”和“类别FOO”可以是用户在应用程序中输入的任何字符串,基本上是动态属性。这非常适合使用方括号表示法在客户端JS上进行迭代。 (消息[“类别A”])。
我需要使用ReQL更新userInfo.count
字段,方法是“加入”userId字段上的另一个表UserMessages,该字段存在于两个表中。
我设法使用r.forEach()和r.object()将结果(例如:"12345":77, "67890": 42
)作为子文档添加到“messages”对象。
但我必须将结果添加到userInfo。
编辑:为了增加清晰度......如果我不知道顶级属性,我很难导航到userId。即:
r.table('messages')('???????????')('userInfo')('userId')
任何建议都将不胜感激。 谢谢。