【发布时间】:2016-10-28 12:53:27
【问题描述】:
我对 Mongoose 查询有一个小问题。我正在尝试使用其他两个引用集合(员工和班次类型)填充班次集合。
一切正常,问题是当我尝试按"employee.lastName" 键排序时。
这是我的代码:
Shift
.find()
.populate("employee", "-_id lastName firstName userID")
.populate("shift", "-_id shiftID")
.select("employee date shift")
.sort({ "employee.lastName": 1, "date": 1 })
.exec(function(err, shifts) {
res.status(200).json(shifts);
});
这是一个单一的结果:
{
"_id": "5811b23d7b32ae2b59ce5890",
"shift": {
"shiftID": "MO123"
},
"date": "2016-10-10T00:00:00.000Z",
"employee": {
"firstName": "JOE",
"lastName": "AVERAGE",
"userID": "AJ456"
}
},
我无法按"employee.lastName" 键对我的结果进行排序,只是它没有按预期工作。
有人知道吗?
【问题讨论】:
-
您能否更准确地了解结果?并尝试将 json 扁平化,将 firstname lastname 和 userid 放在员工字段之外,看看它是否有效
-
我不能将名字和姓氏放在员工之外,因为它们是来自另一个集合的字段,由于员工而附加到结果,即员工对象 id-