我想从mongoose的find方法的结果中获取数据。
SinceIdLog.find({},['since_id','saved_date'],{sort:{'saved_date': -1}, limit:1}, function(err, docs) {
console.log(docs[0]);
// some processes
});
在这种情况下'console.log'的输出就是我想要的内容。
{ since_id: '214320642386968576',
saved_date: Sun, 17 Jun 2012 13:16:04 GMT,
_id: 4fddd8941390b38712000143 }
但是,当我写下面的时候
SinceIdLog.find({},['since_id','saved_date'],{sort:{'saved_date': -1}, limit:1}, function(err, docs) {
console.log(docs[0].since_id);
// some processes
});
输出是'未经分类的'。
你知道为什么吗?
我在MongoDB中保存了Twitter API参数的'since_id'。
在此代码中,我想让since_id检索使用OAuth新更新的推文。
此致
答案 0 :(得分:0)
在]
声明中since_id
之后移除无关的console.log
。
答案 1 :(得分:0)
也许你有since_id
字段的getter函数,它不会返回任何内容?检查架构。
答案 2 :(得分:0)
我曾遇到同样的问题,我认为解析结果有帮助。
尝试以下
SinceIdLog.find({},['since_id','saved_date'],{sort:{'saved_date': -1}, limit:1}, function(err, docs) {
docs = JSON.parse(docs);
console.log(docs[0].since_id);
// some processes
});
答案 3 :(得分:0)
谢谢大家,
我找到了原因。
我没有正确定义Schema,如下面的
var Schema = mongoose.Schema,
SinceIdLog = mongoose.model('SinceIdLog', new Schema());
这在保存数据时有效。
var XXX = new SinceIdLog(Object);
XXX.save(function(err) {});
但它在寻找方面效果不佳。
我修改了它,现在它正常工作。
var Schema = mongoose.Schema,
SinceIdLog = new Schema({
since_id: String,
saved_date: Date
}),
SinceIdSchema = mongoose.model('SinceIdLog', SinceIdLog);
谢谢!