【发布时间】:2016-02-11 18:59:32
【问题描述】:
我正在尝试extract specific document fields from a mongodb collection(MongoLab 的 v 3.0.8)。返回的文件必须在一个日期范围内。我的目标是从这些文档中提取特定字段。我的nodejs代码,
var query = {}, operator1 = {}, operator2 = {}, operator3 = {} ;
operator1.$gte = +startDate;
operator2.$lte = +endDate;
operator3.$ne = 'move';
query['xid'] = 1; // Problem here?
query['date'] = Object.assign(operator1, operator2);
query['type'] = operator3;
console.log(query);
MongoClient.connect(connection, function(err, db) {
if(err){
res.send(err);
} else {
db.collection('jbone')
.find(query)
.toArray(function(err, result){
console.log(err);
res.json(result);
});
};
});
如果我选择返回日期范围内的所有字段,则查询工作正常。如果我只选择字段 xid 我不会得到任何结果。根据the docs,我的query 对象看起来很合理。 console.log(err) 给:
{ xid: 1,
date: { '$gte': 20160101, '$lte': 20160107 },
type: { '$ne': 'move' } }
null
null 是err。
谁能帮我理解我做错了什么?
或者将我指向另一个类似的 SO 问题并给出答案?
谢谢
【问题讨论】:
-
请在回调函数中查看
err,希望它能提供更多信息... -
我用
err对象更新了问题,它只显示null -
jbone文档中是否有xid: 1相关记录? -
我在问题中添加了指向数据的链接。
-
"xid": "yAtl4PM9ORJEVPZvEu43cHxh3wHHye78",xid的类型是String,不是整数...