这个 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
}
}
}
其中“Category A”和“Category FOO”可以是用户在应用程序中输入的任何字符串,基本上是一个动态属性。这对于使用方括号表示法在客户端 JS 上进行迭代非常有用。(消息[“A 类”])。
我需要使用 ReQLuserInfo.count
通过“加入”到 userId 字段上的另一个表 UserMessages 来更新该字段,该字段存在于两个表中。
我设法"12345":77, "67890": 42
使用 r.forEach() 和 r.object() 将结果(例如:)作为子文档添加到“消息”对象。
但我必须将结果添加到 userInfo。
编辑:为了增加清晰度......如果我不知道顶级属性,我很难导航到 userId。IE。:
r.table('messages')('???????????')('userInfo')('userId')
任何建议将不胜感激。谢谢你。