gpt4 book ai didi

javascript - RethinkDB 抛出错误而不是在回调中返回错误

转载 作者:太空宇宙 更新时间:2023-11-04 01:07:51 25 4
gpt4 key购买 nike

Nodejs情况:

r.db('users').get('e@mai.l').without(['password']).run()

如果用户不存在,rethinkdb 将抛出错误

-- 2014-01-22T13:26:04.720Z [20163] [ ctx error ] --
RqlRuntimeError: Cannot perform without on a non-object non-sequence `null`. in:
r.table('users').get('e@mai.l').without(['password'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

问题:

  1. 为什么 Rethink 会抛出错误而不是在回调的第一个参数中返回错误?
  2. 为什么它还是会抛出错误?不能直接返回null就完成请求吗?

最佳答案

错误应该在回调的第一个参数中返回。

它返回错误,因为您试图从空对象中删除字段。 RethinkDB 会抛出错误,就像 Node 尝试访问 null 字段时一样。

为了避免错误,你可以这样做r.table("users").get("e@mai.l").default({}).without('password')

关于javascript - RethinkDB 抛出错误而不是在回调中返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21284607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com