当前位置: 首页 > 知识库问答 >
问题:

“带有”pipeline“的$lookup不能指定”local field“或”foreign field“”

高运诚
2023-03-14

我是mongoose&mongoDB的新手,我有following查询,当运行时会抛出follower错误。如果有人能帮我处理这个问题,并且仍然得到相同的输出,那就太好了

//interview.model.js => mongodb show name as interview
module.exports = mongoose.model('Interview', interviewSchema);
//candidate.model.js => mongodb show name as candidate
module.exports = mongoose.model('Candidate', candidateSchema);

const [result, err] = await of(Interview.aggregate([
         {
           $match: {
             ...filterQuery,
           }
         },
         {
           $lookup: {
             'from': 'candidates',
             'localField': 'candidateId',
             'foreignField': '_id',
             'as': 'candidateId',
             pipeline: [
               { $match: { 'candidateId.interviewCount': 0 }},
               { $project: { firstName:1, status:1, avatar:1 } }
             ]
           }
         },
       ]))

共有1个答案

阎懿轩
2023-03-14

0

如果管道位于$lookup内部,则不能使用localField或foreignfield。有关语法和示例,请参阅MongoDB文档...

 类似资料:
  • 我正在尝试向我的网站添加一个喜欢的功能。我使用以下模式制作了一个喜欢的集合。我正在使用自定义_id来避免创建额外的索引。 我的服务器上有一个路由,它使用MongoDB聚合搜索帖子集合。我正在尝试向当前管道中添加一个$lookup阶段,以便添加一个liked属性,该属性的类型为布尔值,表示用户是否喜欢该帖子。下面是无法工作的$查找阶段(liked始终返回空数组,即使有相应的liked文档): 我认为

  • 我是聚合框架的新手,有以下问题。 我的收藏是这样的: 用户 ActivitiesFeed 活动 聚合函数 如何使用第一个查找结果进行查找? 我查阅了activities集合。此集合保存第二个查找BaseData.UserID的id。但是使用这种方法,第二次查找没有结果。 我对activities集合进行连接的原因是actionID可以保存来自另一个集合的用户id或文档id。它取决于activiti

  • 问题内容: 是为了什么? 之间有什么区别? 和 问题答案: 使该变量可用于子流程。 那是, 表示变量名称可用于您从该Shell进程运行的 任何 进程。如果您希望进程使用此变量,请使用,然后从该Shell运行该进程。 表示变量作用域仅限于外壳程序,不适用于任何其他进程。您可以将其用于(例如)循环变量,临时变量等。 重要的是要注意,导出变量不会使其对父进程可用。也就是说,在生成的进程中指定和导出变量不

  • 我也想用昂首阔步做同样的事情。 为了总结以上问题的答案,使用jsonschema,可以这样做: 答案的关键点是使用之一。 注意:一些swagger实现使用(或类似的)来指定属性值可以为null,但是,用对象引用的内容替换对象,因此似乎忽略了对的任何使用。

  • 我是Spring的新手,正在注册一个用户。我确实喜欢这个。 这很好,但这里的问题是,在我的欢迎中,我不需要这个用户对象。jsp页面,那么为什么要使模型对象更重呢。因此,我尝试了不使用ModelAttribute,这也适用于我,如下所示。 所以我只想知道什么是专业 我想将我的查询分类为以下4种类型的request.what如果我不需要在视图中发送数据并且我的请求是任何- 查询字符串即GET中的表单数

  • 我可以通过执行以下操作将子集中的每个元素映射到一个FlatEntry: 而且效果很好。但当我尝试这样做时: eclipse(Mars4.5.0)编译器的功能如下: 我是不是漏掉了什么?我能纠正我的API,使它的使用不那么笨拙吗?还是我一直在指定类型参数?谢谢!