MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Възможна заявка с MongoDB

Използвайте $and :

db.getCollection('collection_name').find({
$and: [{
  TitleData: {
    $elemMatch: {
      UserId: ObjectId("57a87f5cc48933119cb96f9b"),
      UserId: ObjectId("57a87f5cc48933119cb96fa7")
    }
  }
}, {
  TitleData: {
    $elemMatch: {
      $ne: {
        "Res": 2
      }
    }
  }
}]
}));

Тествайте изхода от конзолата с обектите на вашата колекция:

> db.collection.find({ $and: [{     TitleData: {       $elemMatch: {         UserId: ObjectId("57a87f5cc48933119cb96f9b"),          UserId: ObjectId("57a87f5cc48933119cb96fa7")       }     }   },{ TitleData: { $elemMatch: { $ne: { "Res": 2 } } }}]});
{ "_id" : ObjectId("57a8a6c3c48933256cfd8368"), "Title" : "T1", "TitleData" : [     {   "UserId" : ObjectId("57a87f5cc48933119cb96f9b"),    "Res" : 2 },    {   "UserId" : ObjectId("57a87f5cc48933119cb96fa7"),    "Res" : 2 },    {   "UserId" : ObjectId("57a87f5cc48933119cb96f96"),    "Res" : 2 },    {   "UserId" : ObjectId("57a87f5cc48933119cb96f9c"),    "Res" : 2 },    {   "UserId" : ObjectId("57a87f5cc48933119cb96f9d"),    "Res" : 0 } ] }

РЕДАКТИРАНЕ Не е добавен целият конзолен изход...




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. агрегиране на mongodb при актуализиране на колекции

  2. ValueError:<Твърде много стойности за разопаковане>

  3. MongoDB/Mongoose - Запитване за масив от обекти по дата

  4. MongoDB регистрира всички заявки

  5. Файлова система само за четене при опит за mkdir /data/db на Mac