sql >> データベース >  >> NoSQL >> MongoDB

MongoDBにオートコンプリートを実装する

    @Thiloが提案しているように、プレフィックスを含むいくつかのアイデアを使用できます。

    最も重要なことは、非常に迅速なリクエストを行うことです(オートコンプリートを感じしたいため) 瞬時)。したがって、適切にインデックスを使用するクエリを使用する必要があります。

    正規表現の場合:/^prefix/を使用します (重要なのは、クエリでインデックスを使用するために必須の行頭を指定する^です。)

    範囲クエリも適切です:{ $gt : 'jhc', $lt: 'jhd' } }

    より複雑ですが高速です:プレフィックスツリーをmongo(別名trys)に次のようなエントリで保存できます:

     {usrPrefix : "anna", compl : ["annaconda", "annabelle", "annather"]}
     {usrPrefix : "ann", compl : ["anne", "annaconda", "annabelle", "annather"]}
    

    この最後のソリューションは非常に高速ですが(もちろん、complのインデックスの場合)、スペース効率はまったく高くありません。選択しすぎたトレードオフを知っています。



    1. Elasticsearch v.s.フィルタリングアプリケーション用のMongoDB

    2. MongoとMeteorのフィールドをプログラムで更新する

    3. Node.jsで同期MongoDBクエリを作成する正しい方法は何ですか?

    4. MongoDBでドキュメントのサイズを取得する2つの方法