javascript - RethinkDB 过滤器未找到结果
问题描述
我对 RethinkDB (NodeJS) 有疑问。
我正在尝试使用一个简单的 .filter() 函数,但由于某些未知原因它不想找到结果。目前我的代码如下所示:
常量 someID = 1234; r.table('list').filter({id: someID}).run().then((err, result) =>{ if(err) 抛出错误; 控制台日志(结果) })
我知道 ID 为“1234”的结果在那里,因为如果我运行此查询:
常量 someID = 1234; r.table('list').filter({id: 1234}).run().then((err, result) =>{ if(err) 抛出错误; 控制台日志(结果) })
它工作得很好。
我所做的唯一更改是直接提供 ID,而不是使其成为变量/常量。
可能是什么问题?
解决方案
如果您通过表的主索引(通常id
)搜索,那么get
可能是您正在寻找的工具:
const itemId = 1234;
r.table('list').get(itemId)
如果您正在寻找基于辅助键的东西,那么getAll
将满足您的目的:
如有必要,创建密钥:
r.table('list').indexCreate('val')
访问数据:
const itemVal = 'hey' r.table('list').getAll(itemVal, {index: 'val'}) // would return data like: { id: 1234, val: 'hey' }
看来第一个用例是您正在寻找的,但我认为您可能会发现第二个有用。
推荐阅读
- javascript - 如何使用
JSX 中的组件? - python - 在变量中保存对 python 字典(来自 json 文件)项的引用
- java - Java中助记符的更改修饰符
- pytorch - PyTorch 在使用 tensorboard 时加载旧数据
- c# - Stopwatch.GetTimestamp() 在 linux 和 windows 上产生不同的结果
- ruby-on-rails - 当键与模型属性不同时,使用哈希创建新记录
- image - 将背景图像添加到选项卡控件时,Powershell 表单闪烁
- python - 为什么八面体和立方体的表面积与体积比之比是一个常数,却没有反映在我的程序中?
- next.js - 存储访问令牌和刷新令牌 NextJS
- javascript - 未正确检索机器人和人员的数量