MarkLogic - node.js 客户端 API - queryBuilder 查询 ID 数组
MarkLogic - node.js Client API - queryBuilder query array of IDs
这个问题类似于:
但这次我需要在 node.js 客户端 API.
中使用 queryBuilder 进行查询
我收集了 100,000 条记录,其结构如下:
<record>
<pk>1</pk>
<id>1234</id>
</record>
<record>
<pk>2</pk>
<id>1234</id>
</record>
<record>
<pk>3</pk>
<id>5678</id>
</record>
<record>
<pk>4</pk>
<id>5678</id>
</record>
我已经在 id 上设置了范围索引。
我想使用 queryBuilder node.js 客户端 API 编写一个查询,它允许我传入一个 ID 数组并得到一个记录列表。
它需要:
1)查询特定集合
2) 利用范围索引提高性能
没关系,我想出了问题。
db.db.documents.query(
q.where(
q.collection('Records'),
q.or(
q.value('id', ['1', '2'])
)
).slice(1, 99999999)
)
我最初尝试将一个数组传递给 q.value,但我只得到了有限的结果(得到 10 个,而我预期是 20 个)。所以我觉得我做错了。
事实证明,我只需要对 where 子句进行切片以包含所有内容。显然,如果您不指定服用多少,则默认为 10。
另请注意,当我尝试使用 .slice(0) 时,我得到了一个例外。
这个问题类似于:
但这次我需要在 node.js 客户端 API.
中使用 queryBuilder 进行查询我收集了 100,000 条记录,其结构如下:
<record>
<pk>1</pk>
<id>1234</id>
</record>
<record>
<pk>2</pk>
<id>1234</id>
</record>
<record>
<pk>3</pk>
<id>5678</id>
</record>
<record>
<pk>4</pk>
<id>5678</id>
</record>
我已经在 id 上设置了范围索引。
我想使用 queryBuilder node.js 客户端 API 编写一个查询,它允许我传入一个 ID 数组并得到一个记录列表。
它需要: 1)查询特定集合 2) 利用范围索引提高性能
没关系,我想出了问题。
db.db.documents.query(
q.where(
q.collection('Records'),
q.or(
q.value('id', ['1', '2'])
)
).slice(1, 99999999)
)
我最初尝试将一个数组传递给 q.value,但我只得到了有限的结果(得到 10 个,而我预期是 20 个)。所以我觉得我做错了。
事实证明,我只需要对 where 子句进行切片以包含所有内容。显然,如果您不指定服用多少,则默认为 10。
另请注意,当我尝试使用 .slice(0) 时,我得到了一个例外。