2024-10-06 11:50:37 发布
网友
本质上,我试图为单个记录插入获取生成的键。比如:
rethinkdb.table('test').insert(request.data).pluck('generated_keys')[0].run(connection)
然后让它返回如下内容:
我只想给你一些建议,以便你以后能弄清楚。首先,可以使用typeOf来查找数据类型。在
typeOf
r.table('dummy').insert({f: "foo"}).typeOf() "OBJECT"
所以你知道如果返回一个对象。接下来,您将转到rejectdb文档,尝试找到一些类似的函数。一个好的猜测是get_fieldhttp://rethinkdb.com/api/javascript/get_field/
get_field
可以对对象调用get_字段:
sequence.getField(attr) → sequencesingleSelection.getField(attr) → value object.getField(attr) → value
sequence.getField(attr) → sequence
singleSelection.getField(attr) → value
object.getField(attr) → value
让我们看看它返回了什么:
让我们找到一个命令来返回数组中的元素。您可以再次检查文档,并注意到nth命令从数组返回第n个元素。因此,我们现在可以这样做:
nth
r.table('dummy').insert({f: "foo"}).getField('generated_keys').nth(0) "c2b1bf69-a926-4c27-b1a6-011d47c700df"
让我们试着简化一下。使用getField是注释。为了简短起见,可以使用方括号()从object获取单个字段
getField
()
r.table('dummy').insert({f: "foo"})('generated_keys').nth(0) "77f4aca6-9219-494e-9998-23eb9abcd5e0"
但是使用nth也会对字段进行一些注释。我们能说得简短些吗。幸运的是,括号也可以调用数组。http://rethinkdb.com/api/javascript/bracket/
The () command also accepts integer arguments as array offsets, like the nth command.
结合我们的一切:
r.table('dummy').insert({f: "foo"})('generated_keys')(0)
这些都是直接在dataexplorer上运行的,但是我认为您可以通过查看JavaScript将它们转换成Python并将其转换为Python。在
在Python中,如果要返回插入文档的所有主键数组,可以执行以下操作:
r.table('test').insert({ "hello": 'world' })['generated_keys'].run(conn)
如果您想返回第一个文档的主关键字,请执行以下操作:
我只想给你一些建议,以便你以后能弄清楚。首先,可以使用
typeOf
来查找数据类型。在所以你知道如果返回一个对象。接下来,您将转到rejectdb文档,尝试找到一些类似的函数。一个好的猜测是
get_field
http://rethinkdb.com/api/javascript/get_field/可以对对象调用get_字段:
让我们看看它返回了什么:
^{pr2}$让我们找到一个命令来返回数组中的元素。您可以再次检查文档,并注意到
nth
命令从数组返回第n个元素。因此,我们现在可以这样做:让我们试着简化一下。使用
getField
是注释。为了简短起见,可以使用方括号()
从object获取单个字段但是使用
nth
也会对字段进行一些注释。我们能说得简短些吗。幸运的是,括号也可以调用数组。http://rethinkdb.com/api/javascript/bracket/结合我们的一切:
这些都是直接在dataexplorer上运行的,但是我认为您可以通过查看JavaScript将它们转换成Python并将其转换为Python。在
在Python中,如果要返回插入文档的所有主键数组,可以执行以下操作:
如果您想返回第一个文档的主关键字,请执行以下操作:
^{pr2}$相关问题 更多 >
编程相关推荐