Javascript Mongoose检查任何地图条目值中是否存在文本

Javascript Mongoose检查任何地图条目值中是否存在文本,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我们需要在JSON对象内的映射中进行转换。当我们搜索一个项目时,我们将只传递名称,我们需要检查该名称是否在其中一个翻译对象中 例如: "item" : { "name" : { "en_US": "Hello" "id_ID" : "Halo" } } 客户只发送名称,但我们不知道所使用的语言(例如,Halo),我们需要以任何语言返回带有该名称的文

我们需要在JSON对象内的映射中进行转换。当我们搜索一个项目时,我们将只传递名称,我们需要检查该名称是否在其中一个翻译对象中

例如:

"item" : {
  "name" : {
     "en_US": "Hello"
     "id_ID" : "Halo"
  }
}
客户只发送
名称
,但我们不知道所使用的语言(例如,Halo),我们需要以任何语言返回带有该
名称
的文档。我们应该如何定义过滤器对象?到目前为止,我看到的所有示例都要求我们定义要筛选的完整对象信息(例如:
item.name.id\u id
)。


非常感谢。如何在Mongoose
find
paginate
方法中使用它?我建议您试用并发布更新。这样任何人都可以帮忙。我对猫鼬不太了解。让我查一查。
 db.collection.aggregate([
  {
    "$addFields": {//reshape it to match on value field
      "field": {
        "$objectToArray": "$item.name"
      }
    }
  },
  {//reshape again to get the only matching element
    "$unwind": "$field"
  },
  {
    $match: {//match condition
      "field.v": "Hello"
    }
  },
  {
    $project: {//project only what is needed
      "field.k": 1,
      "item": 1
    }
  }
])