【问题标题】:How to query on all model at once Mongoose?如何一次查询所有模型 Mongoose?
【发布时间】:2019-09-09 00:48:48
【问题描述】:
我们能否在一个查询函数上查询所有模型,我有三个独立的模型社区、课程和频道,其中有一个名称字段,类似于我需要使用该名称字段一次查询所有模型的所有内容.
类似
const names = await allModels.find({name: "Joe"})
names 应该返回 name 等于“Joe”的社区、课程和频道的文档
一个查询函数应该搜索所有模型。
【问题讨论】:
标签:
node.js
mongodb
mongoose
mongodb-query
【解决方案1】:
不是直接的,但您可以使用Promise.all 轻松地并行查询所有三个集合:
const allNames = await Promise.all([
Community.find({name: 'Joe'}),
Course.find({name: 'Joe'}),
Channel.find({name: 'Joe'})
]);
allNames 将是一个包含三个元素的数组,每个元素依次是每个集合的结果。