我希望能够按子序列在我的文档中搜索。
例如
{
"name": "doc1",
"sequence": ["a", "b", "d", "g", "k"]
}
{
"name": "doc2",
"sequence": ["c", "a", "b", "m", "d"]
}
我想按顺序匹配多个项目。查询示例:
- 返回具有序列 ["a","b"] 的所有文档。(返回 doc1 和 doc2)
- 返回所有具有“a”且在 3 个位置之后为“d”的文档(返回 doc2)
- 返回所有具有序列 ["b","d","(whatever)", "k"] 的文档(返回 doc1)
我不确定我可以用 MongoDB 做到这一点。另一种解决方案是将序列保存为字符串而不是数组并使用正则表达式(但我不太喜欢这种解决方案)。
如果我不能在 MongoDB 中做到这一点,是否有另一个 noSql 引擎或任何支持这个的引擎?