我尝试使用populate使用Mongoose(v4.6.2)搜索对象。这是我的模型(在两个不同的文件中):
const experienceSchema = new mongoose.Schema({
title: { type: String, maxlength: 50 },
creator: { type: Schema.ObjectId, ref: 'User' },
creatorName: String,
city: { type: String, maxlength: 64 },
interests: [{ type: Schema.ObjectId, ref: 'Interest' }],
}, { timestamps: true });
const interestSchema = new Schema({
Name: { type: String, default: '' },
illustration: { type: String, default: '' },
}, { timestamps: true });
然后我有一个数组:[" pizza"," GOT"]。所以我想完成所有至少有一个阵列兴趣的体验。所以我这样做:
experienceModel.find()
.populate({
path: 'interests',
match: { Name: { $in: array }}
})
.exec(function(err, exps) {...}
然后,我不知道为什么,结果包含没有兴趣的经验,特别是阵列的经验:(
你知道问题可能来自哪里吗?
谢谢你,祝你有个愉快的一天:)