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

タグ検索用のデータストアソリューション

    このようにオブジェクトを保存した場合、Mongodbは必要なものを処理できます

    { score:2131, attributes: ["attr1", "attr2", "attr3"], ... }
    

    次に、次のクエリは、att1とattr2を持つすべてのアイテムに一致します

    c = db.mycol.find({ attributes: { $all: [ "attr1", "attr2" ] } })
    

    しかし、これはそれに一致しません

    c = db.mycol.find({ attributes: { $all: [ "attr1", "attr4" ] } })
    

    クエリはカーソルを返します。このカーソルを並べ替える場合は、次のように並べ替えパラメータをクエリに追加するだけです。

    c = db.mycol.find({ attributes: { $all: [ "attr1", "attr2" ] }}).sort({score:1})
    

    高度なクエリ をご覧ください 何が可能かを確認します。

    適切なインデックスは次のように設定できます

    db.mycol.ensureIndex({attributes:1, score:1})
    

    また、

    を使用してパフォーマンス情報を取得できます。
    db.mycol.find({ attributes: { $all: [ "attr1" ] }}).explain()
    

    Mongoは、スキャンされたオブジェクトの数、操作にかかった時間、およびその他のさまざまな統計について説明しています。



    1. MacOS10.12にmongodbをインストールすることはできません

    2. 自動配線されたRedisTemplate<String、Long>

    3. SQLORに相当するMongoDB

    4. MongoDBで複数のコレクションを検索する