loopkup mongodb之后条件的多个匹配项
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了loopkup mongodb之后条件的多个匹配项相关的知识,希望对你有一定的参考价值。
db.setting.aggregate([
{
$match: {
status: true,
deleted_at: 0,
_id: {
$in: ids
}
}
},
{
$lookup: {
from: "admin",
localField: "_id",
foreignField: "admin_id",
as: "data"
}
},
{
$match: {
"data.createdAt": {
$gte: new Date("2020-01-01")
}
}
},
])
我得到一个值,但甚至期望多个数据大于等于2020年1月1日。如何解决它,请指导谢谢
答案
您必须在查找后平移结果才能执行$match
。
db.setting.aggregate([
{
$match: {
status: true,
deleted_at: 0,
_id: {
$in: ids
}
}
},
{
$lookup: {
from: "admin",
localField: "_id",
foreignField: "admin_id",
as: "data"
}
},
{ $unwind: "$data"}
{
$match: {
"data.createdAt": {
$gte: new Date("2020-01-01")
}
}
},
{
$group: {
_id: "$_id",
status: { "$first": "$status" },
deleted_at: { "$first": "$deleted_at" }, //You can project more
data: { "$push": "$data" }
}
}
])
以上是关于loopkup mongodb之后条件的多个匹配项的主要内容,如果未能解决你的问题,请参考以下文章