sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB:Hent dokumenter med tags

eksempelsamling:

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

find alt, der indeholder tagget "blå"

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

find alle tagget "blå" og kun blå

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

find alle tagget "blå" og "billig"

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

find alle ikke "blå"

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

find alle "blå" og "billige", men ikke "røde" og ikke "høje"

ikke muligt i min mongo db. Fra mongodb 1.9.1 på noget som dette burde dog virke (ikke testet):

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


  1. MongoDBO-objekt føjes ikke til indersiden af ​​en rrd foreach loop casbah scala apache spark

  2. MongoDB Aggregate funktion i C#

  3. MongoDB:er det sikkert at bruge dokumentets ID offentligt?

  4. Forældet body-parser?