2012-06-18 61 views
0

我想從貓鼬的查找方法的結果中獲取數據。無法從貓鼬的查找方法的結果中檢索數據

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 
}); 

輸出 'undifined'。

你知道爲什麼嗎?

我將Twitter API參數的'since_id'保存在MongoDB中。

在此代碼中,我想獲取since_id以檢索使用OAuth時最新更新的推文。

問候,

+0

'console.log(docs [0] ['since_id'])'print? 'docs.length'? – raina77ow

回答

0

console.log聲明since_id後刪除多餘的]

+0

JohnnyHK 謝謝。 這是張貼問題的錯誤。 我修改了這個問題。 – Ken

+0

其他地方必須關閉,因爲現在這是正確的語法。 – JohnnyHK

0

也許你有吸氣功能since_id字段不返回任何東西?檢查模式。

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 
}); 
0

謝謝大家,

我找到了原因。

我沒有正確定義的架構類似以下

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); 

謝謝!!