首页 > 解决方案 > mongodb中的条件检查和查找

问题描述

我有一个集合“数据”,其中包含以下格式的文档。

{
  name: "A",
  file: "/path/to/file"
}

file密钥并不存在于所有文档中。如果它不存在,我可以查找另一个集合files_info并获取file键和值,如下所示。

db.data.aggregate([
  { "$lookup" : {
    "from": "files_info",
    "localField": "name",
    "foreignField": "name",
    "as": "files"  
  }},
  { "$project" : {
    "file" : "$files.file"
  }}
])

是否可以有条件地检查 key 是否file存在于 collection 中data,如果它确实 project from data.file,如果它不存在 lookupfiles_info和 project as $files.file

标签: mongodbmongodb-queryaggregation-framework

解决方案


推荐阅读