【问题标题】:Abuse pouchDB's doc ID: Get first prefix element滥用 pouchDB 的文档 ID:获取第一个前缀元素
【发布时间】:2016-03-04 01:29:02
【问题描述】:

以下是一些示例 ID:

someText_1
someText_2
someText_3
someOtherText_1
someOtherText_2

我想得到下划线后数值最大的“someText”元素:someText_3

allDocs({startkey: 'someText_', endkey: 'someText_\uffff'});

将产生所有“someText_”元素。 有没有办法只接收“someText_3”?我想避免 map/reduce 查询,因为保证的本地存储空间非常有限。

我已经读过了:

http://pouchdb.com/2014/05/01/secondary-indexes-have-landed-in-pouchdb.html(不使用 map/reduce 时)

Pouchdb document id complex key(也有同样的问题)

【问题讨论】:

    标签: javascript database key pouchdb


    【解决方案1】:

    不幸的是,您无法使用 P/CouchDB _ids 搜索“内部”字符串 - 您只能进行前缀搜索。当然,前缀搜索并不能解决您的整数问题,因为就字符串而言,1 < 10 < 2

    一种选择是直接使用pouchdb-collate。例如,您的 ID 可以从像 [2, 'someText'] 这样的对象生成。这使您可以轻松搜索高于和低于某个值的整数,但缺点是很难搜索'someText'

    另一种选择是硬着头皮使用 map/reduce 或 pouchdb-find。如果您的查询需求足够复杂,您可能不得不这样做。

    【讨论】:

    • 谢谢。可悲的是,正如您所说, pouchdb-collat​​e 尝试会在我的情况下反转问题。非常感谢您的宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多