【发布时间】:2022-01-22 13:16:53
【问题描述】:
您好,我是 MongoDB 的新手,希望有人可以帮助我解决我的问题。我有一个具有以下文档结构的集合:
// collection: avgsalarydep
{
"_id" : ObjectId("60509a82f5034f42e0e0f909"),
"id" : "zufferli-j",
"firstname" : "Mark",
"middlename" : "Clemens ",
"lastname" : "Zufferli",
"works_in" : "F",
"salary" : 50000,
"email_address" : "addad@enron.com",
"avgjoin" : [
{
"_id" : "F",
"averagesalary" : 64833
}
]
}
现在我只想编写一个查找查询,显示所有工资低于平均工资的人。例如,我尝试了以下操作:
.find({$expr:{$lt:["$salary", "$avgjoin.averagesalary"]}})
.find({$expr:{$lt:["$salary", "avgjoin.averagesalary"]}})
{$match:{ $expr: { $lt: { "$salary" , "$avgjoin.averagesalary" } }} }
但要么它只是返回所有的人(忽略他们是否赚得更少),要么说“没有找到记录”。我究竟做错了什么?如果您需要更多说明,请随时询问。非常感谢您的帮助。
【问题讨论】: