примерна колекция:
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" } })
намери всички „сини“ и „евтини“, но не „червени“ и не „високи“
не е възможно в моята mongo db. От mongodb 1.9.1 на нещо подобно обаче трябва да работи (не е тествано):
db.tags.find({ $and: [ {tags: { $all: ["blue", "cheap"] } }, { tags: { $nin: ["red", "tall"] } } ] })