我正在try 从我的MongoDB实例的集合中检索一些文档. 这就是你的全部Collection :
[
{
_id: ObjectId("65708c6237b62067296a398f"),
date: ISODate("2020-09-15T04:07:05.000Z"),
description: 'playstation',
category: 'miscellaneous',
cost: 499,
users: [ { username: 'Giacomo', amount: 499 } ]
},
{
_id: ObjectId("6570950cecb7eb1b4b868409"),
date: ISODate("2020-09-15T04:07:05.000Z"),
description: 'tennis court',
category: 'sport',
cost: 100,
users: [
{ username: 'prova', amount: 50 },
{ username: 'Giacomo', amount: 50 }
]
},
{
_id: ObjectId("6570953aecb7eb1b4b86840a"),
date: ISODate("2023-02-09T03:12:15.012Z"),
description: 'netflix subscription',
category: 'entertainment',
cost: 100,
users: [ { username: 'prova', amount: 10 } ]
}
]
目前,我可以使用以下查询检索值为date
的某一年的文档:
db
.collection("expenses")
.find({
"users.username": "desired_username",
$expr: { $eq: [{ $year: "$date" }, 2020] },
})
作为下一步,我希望检索不仅具有特定年份而且具有特定月份的文档(例如,2020年9月应返回前两个文档).我不知道如何在查询中使用两个不同的表达式.
有人能帮我解决这个问题吗?
首先感谢您的耐心等待.