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

集計で機能しない_idを使用して検索

    マングースはStringをキャストしません ObjectIdへ 集計関数で。そのため、マングースを使用して手動でキャストする必要があります。

    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. Mongoose/MongoDBの結果フィールドがJavascriptで未定義で表示される

    2. ドキュメントベースのデータベースとキー/値ベースのデータベースの違いは?

    3. CAS(チェックアンドセット)を実装するRedis Luaスクリプト?

    4. CouchDBとMongoDB:知っておくべき10のこと