1
我只是試圖返回所有文檔(網站),其中req.user._id被發現,在一個子文檔(管理器)數組。如何返回在數組中找到值的文檔? Mongoose.js
用戶可以管理多個站點,所以我需要一種方法來列出所有這些關聯的站點。
Site.find({}).elemMatch('managers', {_id: req.user._id}).exec((err, sites) => {
if (err) {
console.log(err)
return res.status(500).send('Something went wrong');
}
return res.json(sites)
});
我已經試過Mongoose elemMatch沒有運氣。 我無法在任何地方找到這個文檔,但它看起來像一個簡單的查詢運行。
(編輯),下面是一個簡單模式和DOC:
import mongoose from 'mongoose';
var Schema = mongoose.Schema;
const SiteSchema = new Schema({
city: {
type: String
},
siteRef: {
type: String
},
managers: [{
type: Schema.ObjectId,
ref: 'User'
}],
});
export default mongoose.model('Site', SiteSchema);