我有一個名爲「用戶」貓鼬模式具有「角色」子文檔作爲像這樣的變量之一:如何寫一個貓鼬查詢來篩選子文檔
var UserSchema = new mongoose.Schema({
email: { type: String, required: true, unique: true },
password: { type: String, required: true },
roles: [ { type: Number, ref: 'Role' } ]
});
var RoleSchema = new mongoose.Schema({
_id: Number,
name: { type: String, required: true, unique: true },
description: { type: String, required: true }
});
我想創建一個貓鼬查詢它將查找所有role.name爲「admin」或「owner」的用戶。我試過使用這個查詢,我認爲它會起作用,但是當我使用where...in
部件時,我沒有得到任何用戶。
var roles = ["owner", "admin"];
User.find()
.populate('roles')
.where('roles.name').in(roles)
.sort({'_id': 1})
.exec(function (err, users) {
res.send(users);
});
有人可以告訴我我的邏輯錯在哪?
工作就像一個魅力。太糟糕了,沒有更好的方法來處理這個問題,但這是有效的。謝謝。 –
@JasonAddleman Mongoose爲你想做的事情建立了功能。看到我的答案。 – Rob
@chridam你可以請建議我將如何應用分頁? –