mongo 连表条件查询遇到的问题请教
发布于 3 天前 作者 PowerDos 215 次浏览 来自 问答

场景

假设现在我有两张表

表一 user

{
	"username": { type: String, index: true },
	"userid": { type: String },
	"class_info" : { type: Schema.Types.ObjectId, ref: 'class' }
}

表二 class

	"classid": { type: String },
	"classname": { type: String }

遇到的问题

const result = await this.ctx.model.User
      .find({ userid: 123 }, { _id: 0, __v: 0 })
      .populate('class', { classname: "高三一班" });

查询出来的结果是

{
	userid: 123,
	username: 小明,
	class_info: []
}

想问的是,如何过滤掉class_info:[]的数据(也就是,如果class查询不到的信息就不显示出来,场景: 条件查询),必须用代码处理吗(比如for循环过滤)?mongo有没有自带的该功能

回到顶部