RethinkDB:更新文件
RethinkDB: Updating documents
这是一个远景,但我想知道是否在 rethinkDB 中,假设我更新了一个文档。是否有一个神奇的函数,如果它是一个字符串或 int 的字段,它只是更新它,但如果字段的值是一个数组,它将它附加到数组?
在这种情况下,您需要使用 .branch
并在类型上进行分支。类似于 .update(function(row) { return {field: r.branch(row('field').typeOf().eq('ARRAY'), row('field').add([el]), el)}; })
有一个神奇的函数可以做类似的事情。 .forEach
具有添加数字、组合数组和删除字符串的未记录行为:
>>> r.expr([{a:1, b:[2], c:"3"}, {a:2, b:[4], c:"6"}]).forEach(r.row)
{"a": 3, "b": [2,4], "c": "3"}
这是一个远景,但我想知道是否在 rethinkDB 中,假设我更新了一个文档。是否有一个神奇的函数,如果它是一个字符串或 int 的字段,它只是更新它,但如果字段的值是一个数组,它将它附加到数组?
在这种情况下,您需要使用 .branch
并在类型上进行分支。类似于 .update(function(row) { return {field: r.branch(row('field').typeOf().eq('ARRAY'), row('field').add([el]), el)}; })
有一个神奇的函数可以做类似的事情。 .forEach
具有添加数字、组合数组和删除字符串的未记录行为:
>>> r.expr([{a:1, b:[2], c:"3"}, {a:2, b:[4], c:"6"}]).forEach(r.row)
{"a": 3, "b": [2,4], "c": "3"}