我正在尝试从mongo db检索我的文档。
我向我的节点服务器发出ajax get请求,并且该服务器应该根据“ breed”变量来查找文档,并将其放在列表中,然后将其发送回客户端。
然后在ajax的成功部分中,用列表填充列表视图。
问题是即使我的集合中有一个满足条件的文档,我仍然相信find()函数返回null。
这是我检索文档的方式:
function search(req,res){
var merr = mongoerr400(res)
var breed
if (req.params.query == "Foghorn")
breed={breed:"Foghorn"};
else if (req.params.query == "Hawk")
breed = {breed:"Hawk"};
else if (req.params.query == "Tweety")
breed = {breed:"Tweety"};
else if (req.params.query == "Little")
breed = {breed:"Little"};
else if (req.params.query == "Bertha")
breed = {breed:"Bertha"};
try{
mongo.coll(
'chicken',
function(coll){
coll.find(
{breed},
merr(function(cursor){
var list = []
cursor.each(merr(function(chicken){
console.log(chicken);
if( chicken ) {
var item = {
_id: chicken._id,
id: chicken.id,
dateTime: chicken.dateTime,
latitude: chicken.latitude,
longitude: chicken.longitude,
weight: chicken.weight,
eggs: chicken.eggs,
grain: chicken.grain,
category: chicken.category
}
list.push(item);
}
else {
common.sendjson(res,{ok:true,list:list})
}
}))
})
)
}
)
}
catch (err) {
console.log('Error writing to the file: ' + err.message)
res.sendStatus(500);
}
}
mongo.coll = function(name,win,fail){
mongo.db.collection(name,mongo.res(win,fail));
}
console.log(chicken)在控制台中返回null,结果是它向我的客户端发送了一个null列表。
我在mongodb中的文档的example。 知道为什么吗?
答案 0 :(得分:1)