MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Znajdź przy użyciu _id nie działa z agregacją

Mongoose nie rzuca String do ObjectId w funkcji agregującej. Musisz więc rzucić go ręcznie za pomocą mangusty.

var mongoose = require('mongoose')

const existedRelation = await this.model.aggregate([
  { "$match": { "_id": mongoose.Types.ObjectId(firstId) } },
  { "$project": {
    "relations": {
      "$filter": {
        "input": "$links",
        "as": "link",
        "cond": {
          "$and": [
            { "$eq": ["$$link.target.entityId", `${objectIdValue}`] },
            { "$eq": ["$$link.linkTypeId", linkTypeId] }
          ]
        }
      }
    }
  }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. wyszukiwanie w agregacji mongodb

  2. Samoobsługowa MongoDB

  3. jak skonstruować indeks złożony w mongodb

  4. MongoDB - $set do aktualizacji lub wypchnięcia elementu Array

  5. Mongoimport pliku JSON