我有這個貓鼬綱要。MongooseJS使用發現查找參考
var mongoose = require ('mongoose')
, dev = require ('../db').dev();
var schema = new mongoose.Schema ({
date: {
type: Date,
default: Date.now
},
company: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Company'
},
questionnaire: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Questionnaire'
}
});
module.exports = dev.model ('Survey', schema);
我只想找到具有特定公司ID的調查。我怎麼做?我想(我的快遞處理程序):
app.get ('/survey', function (req, res) {
Survey.find ({ company: req.query.company }).populate ('questionnaire').exec (function (err, surveys) {
return res.json (surveys);
});
});
假設'req.query.company'是一個ObjectId字符串,這看起來很好。什麼沒有關於它的工作? – JohnnyHK
這是正確的objectId。嘗試使用公司條件時,find會返回空數組。但沒有條件,返回整個集合。包括我一直在尋找的公司ID的文件。 –
有些事情看起來不像。您正在搜索的文檔中的「公司」屬性是否可能實際上是字符串而不是數據庫中的ObjectId? – JohnnyHK