Python 中的 Rethinkdb 客户端未显示字段值
Rethinkdb Client in Python Not Showing Field Values
出于某种原因,Rethinkdb 在使用 get()
方法时未显示有效对象的字段值:
>>> import rethinkdb as r
>>> conn = r.connect( "localhost", 28015)
>>> conn.repl()
<rethinkdb.net.DefaultConnection object at 0x7efd3eab8910>
>>> list(r.db('mydb').table('users').get('4339fe22-7686-4105-9fe7-976871fe552a').run())
[u'group_ids', u'user_id', u'name', u'user_type', u'phone', u'email', u'description']
当我 运行 使用 filter()
方法进行相同的查询时,一切正常:
>>> list(r.db('mydb').table('users').filter(lambda u: u['user_id'] == '4339fe22-7686-4105-9fe7-976871fe552a').run())
[{u'group_ids': [u'a75f9f5a-d5a9-4c2b-8e75-1d1bba5de63e'], u'user_id': u'4339fe22-7686-4105-9fe7-976871fe552a', u'name': u'John', u'user_type': u'company admin', u'phone': u'(...) ...-....', u'email': u'john@example.com'}]
关于为什么 get()
不显示字段值,而 filter()
显示字段值的任何想法? user_id
是 'users' table 的主键。想法?
RethinkDB 的 .get
returns 单个对象,而不是数组或游标。由于调用 list
:
,您的代码正在返回一个字段列表
>>> list({'name': 'John', 'user_type': 'company admin'})
['name', 'user_type']
出于某种原因,Rethinkdb 在使用 get()
方法时未显示有效对象的字段值:
>>> import rethinkdb as r
>>> conn = r.connect( "localhost", 28015)
>>> conn.repl()
<rethinkdb.net.DefaultConnection object at 0x7efd3eab8910>
>>> list(r.db('mydb').table('users').get('4339fe22-7686-4105-9fe7-976871fe552a').run())
[u'group_ids', u'user_id', u'name', u'user_type', u'phone', u'email', u'description']
当我 运行 使用 filter()
方法进行相同的查询时,一切正常:
>>> list(r.db('mydb').table('users').filter(lambda u: u['user_id'] == '4339fe22-7686-4105-9fe7-976871fe552a').run())
[{u'group_ids': [u'a75f9f5a-d5a9-4c2b-8e75-1d1bba5de63e'], u'user_id': u'4339fe22-7686-4105-9fe7-976871fe552a', u'name': u'John', u'user_type': u'company admin', u'phone': u'(...) ...-....', u'email': u'john@example.com'}]
关于为什么 get()
不显示字段值,而 filter()
显示字段值的任何想法? user_id
是 'users' table 的主键。想法?
RethinkDB 的 .get
returns 单个对象,而不是数组或游标。由于调用 list
:
>>> list({'name': 'John', 'user_type': 'company admin'})
['name', 'user_type']