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

MongoDB:タグでドキュメントを取得

    コレクションの例:

    db.tags.insert({"tags":["red", "tall", "cheap"]});
    db.tags.insert({"tags":["blue", "tall", "expensive"]});
    db.tags.insert({"tags":["blue", "little", "cheap"]}); 
    

    タグ「青」を含むものをすべて検索

    db.tags.find({tags: { $elemMatch: { $eq: "blue" } }})
    

    タグ付けされたすべての「青」と青のみを検索

    db.tags.find({tags: "blue"})
    

    タグ付けされた「青」と「安い」をすべて検索

    db.tags.find({ tags: { $all: ["cheap", "blue"] } } )
    

    「青」ではないものをすべて見つける

    db.tags.find({tags: { $ne: "blue" } })
    

    すべての「青」と「安い」を検索しますが、「赤」と「背の高い」は検索しません

    私のmongodbでは不可能です。 mongodb 1.9.1から、このようなもので動作するはずですが(テストされていません):

    db.tags.find({ $and: [ {tags: { $all: ["blue", "cheap"] } }, { tags: { $nin: ["red", "tall"] } } ] })
    


    1. MongoDBでフィールドを暗号化する方法

    2. Mongodb集計クエリ、または複雑すぎますか?

    3. Redis-Redisをプライマリデータベースとして使用する理由、理由、方法

    4. マングースで配列内のオブジェクトのフィールドを更新する方法