【发布时间】:2022-02-12 20:33:49
【问题描述】:
我需要从两个集合(费用、帐户)中获取数据。数据必须介于给定日期范围和金额范围之间。
日期、金额、货币、类型在费用集合和accountId中以 _id 身份在 account 集合中。
我尝试了以下查询,但没有返回任何内容
const response = await Expense.aggregate( [
{ $match: {
$and: [
{
currency: "1",
expenseType: "1"
},
{
date: {
$gte: new Date(date.value.from) , $lte: new Date(date.value.to)
},
amount: {
$gt: parseFloat(amount.value.from) , $lt: parseFloat(amount.value.to)
}
}
],
} },
{
$lookup:
{
from: "accounts",
localField: "accountId",
foreignField: "_id",
as: "account"
}
}
] )
这是费用收集的架构
收款凭证
【问题讨论】:
-
您好,您能提供这两个集合的样本数据吗?同时,Expense 文档中是否存在
type字段?正如我所见,您的费用架构中不存在该字段。谢谢。 -
嘿,我已经更新了这个问题。正如您所问的,类型字段是费用类型。对于迟到的回复,我深表歉意。
标签: node.js database mongodb mongodb-query nosql