サブシーケンスでドキュメントを検索できるようにしたい。
例えば
{
"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エンジンまたはこれをサポートするエンジンはありますか?