在 ydn-db 中是不是可以进行多次搜索?

Posted

技术标签:

【中文标题】在 ydn-db 中是不是可以进行多次搜索?【英文标题】:Is multiple search possible in ydn-db?在 ydn-db 中是否可以进行多次搜索? 【发布时间】:2016-05-04 00:03:12 【问题描述】:

我想做以下查询,

1) 类似的多查询

SELECT * FROM table_name WHERE username="Tom" OR lastname="Gordon" OR city="New York"; 

2) AND 和 OR 操作的组合。例如:

SELECT * FROM table_name WHERE username="Tom" OR lastname="Gordon" AND age=25;

【问题讨论】:

【参考方案1】:

使用SortedMerge or ZigZagMerge 可以进行多个AND。请参阅here for documentation 和here for example。

使用 db.scan 进行 OR 查询。

这两种查询可以组合在一起,只要OR是节点的顶部,即析取范式。

不幸的是,这些查询在流畅的Query API 中还不可用,现在使用起来太糟糕了。

【讨论】:

感谢 Kyaw 的回复。我想知道如果我们使用 NestedLoop 或 SortedMerge 或 ZigZarMerge,索引迭代器是否有任何限制?我尝试使用范围迭代器,但结果遗漏了几条记录。 示例:var li_iter = ydn.db.IndexIterator.where('multiQ', 'license', '>', 'SA'); var li_iter1 = ydn.db.IndexIterator.where('multiQ', 'license', '', 'Boat'); var book_iter1 = ydn.db.IndexIterator.where('multiQ', 'book', ' @user3273859 我添加了文档链接。

以上是关于在 ydn-db 中是不是可以进行多次搜索?的主要内容,如果未能解决你的问题,请参考以下文章

YDN-DB中的简单搜索功能

YDN-DB 可以一次处理大型条目吗?

如何将数据从 ydn-db Web 应用程序同步到后端服务器?

是否可以在 ydn-db 中编写类似于 SQL“IN”或多个“AND”子句的查询?

使用 YDN-DB 的 IndexedDB:如何确定对象存储是不是存在

是否可以知道 ydn-db 的 put 操作的进度?