Node.js 在MongoDB中获取特定月份和特定年份的文档
我正在尝试获取在特定月份和特定年份创建的所有文档。我将日期保存在“日期”字段中,因此我的查询现在如下所示:Node.js 在MongoDB中获取特定月份和特定年份的文档,node.js,mongodb,express,mongodb-query,Node.js,Mongodb,Express,Mongodb Query,我正在尝试获取在特定月份和特定年份创建的所有文档。我将日期保存在“日期”字段中,因此我的查询现在如下所示: db.collection(expenses_collection).find({ $expr: { $eq: [{ $month: "$date" }, 3], $eq: [{ $year: "$date" }, 2020] } }); 但这个查询返回的是2020年创建的所有文档,并且忽略了本月的所有文档。如何解决此问题 提前谢谢你 应该使用运算符绑定两个条件,否则它将考虑查询中的
db.collection(expenses_collection).find({
$expr: { $eq: [{ $month: "$date" }, 3], $eq: [{ $year: "$date" }, 2020] }
});
但这个查询返回的是2020年创建的所有文档,并且忽略了本月的所有文档。如何解决此问题
提前谢谢你 应该使用运算符绑定两个条件,否则它将考虑查询中的最后一个条件。因此,请尝试以下一种:
db.collection.find({
$expr: {
$and: [
{
"$eq": [
{
"$month": "$date"
},
3
]
},
{
"$eq": [
{
"$year": "$date"
},
2020
]
}
]
}
})
测试: