如何搜索 mongodb

How to search mongodb

我在 mongodb 的集合中有两个 JSON,我想编写一个 bson.M 过滤器来获取下面的第一个 JSON。

我尝试使用下面的过滤器获得第一个 JSON 但没有得到结果。 当第一个 JSON 在集合中时,我在使用过滤器时得到结果 但是当我同时拥有两个 JSON 时,我没有得到结果。需要帮助。

filter := bson.M{"type": "FPF", "status": "REGISTERED","fpfInfo.fpfInfoList.ssai.st": 1, "fpfInfo.fpfInfoList.infoList.dn": "sim"}

{

    "_id" : "47f6ad68-d431-4b69-9899-f33d828f8f9c",
    "type" : "FPF",
    "status" : "REGISTERED",
    "fpfInfo" : {
        "fpfInfoList" : [
            {
                "ssai" : {
                    "st" : 1
                },
                "infoList" : [
                    {
                        "dn" : "sim"
                    }
                ]
            }
        ]
    }
},

{

    "_id" : "347c8ed2-d9d1-4f1a-9672-7e8a232d2bf8",
    "type" : "FPF",
    "status" : "REGISTERED",
    "fpfInfo" : {
        "fpfInfoList" : [
            {
                "ssai" : {
                    "st" : 1,
                    "ds" : "000004"
                },
                "infoList" : [
                    {
                        "dn" : "sim"
                    }
                ]
            }
        ]
    }
}
db.collection.aggregate([
  {
    "$unwind": "$fpfInfo.fpfInfoList"
  },
  {
    "$match": {
      "fpfInfo.fpfInfoList.ssai.ds": {
        "$exists": false
      },
      "fpfInfo.fpfInfoList.infoList.dn": "sim",
      "fpfInfo.fpfInfoList.ssai.st": 1
    }
  }
])

Playground