我有两个猫鼬架构空数组:查找对象ID对象ID数组返回使用猫鼬
var EmployeeSchema = new Schema({
name: String,
servicesProvided: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Service'
}]
});
var ServiceSchema = new Schema({
name: String
});
我试图找到员工谁提供的服务ID指定的服务我送入HTTP请求。这是我的代码:
Employee
.find({
servicesProvided: req.params.service_id
})
.exec(function(err, employees) {
if (err) {
console.log(err);
res.send(err);
} else {
res.json(employees);
}
});
问题是,此代码返回一个空数组,我不知道为什么。我已经尝试了很多东西,比如将服务ID转换为mongoose.Schema.Types.ObjectId,但它不起作用。
有什么想法?我正在使用Mongoose 3.8.39。谢谢!
此搜索文件**内提供的数组**这是坏的开销。 –
@AndreyPopov使用索引或小列表它可以相当高效。 – alexmac
我同意,但仍然不需要。今天这是一个小列表,明天它是一个巨大的瓶颈:)如果你可以从一开始就让它更容易 - 为什么不呢? –