2011-11-07 62 views
0

我已存儲的MongoDB文檔中此文件:如何獲取Mongodb文檔中的字符串值?

{ 
    "_id":ObjectId("4eb7642ba899edcc31000001") 
    "hash":"abcd123" 
    "value":"some_text_here" 
} 

我使用的NodeJS訪問數據庫:

collection.findOne({'hash' : req.param('query') }, 
    function(err, result){ 
    console.log(res); 
}); 

此查詢的結果是整個文檔,但是我需要得到只「value」文本:「some_text_here」

這怎麼辦?

回答

0

您可以指定你感興趣的領域(_id總是會回來,雖然):

collection.findOne({'hash': req.param('query') }, 
        {fields: ['value'] }, 
        callbackFunction); 
+0

我試着用Mongodb shell來檢查它,但是我只是得到一個帶有「_id」字段的json對象。 – xybrek

+1

該示例適用於node.js驅動程序。 MongoDB shell的語法不同:'findOne({hash:'x'},{value:1})'http://www.mongodb.org/display/DOCS/Querying#Querying-FieldSelection – Thilo

0

你能做到這樣的方式:

collection.findOne({'hash' : req.param('query') }, 
    function(err, result){ 
     console.log(result.value); 
}); 
+0

此查詢結果整個JSON文件,我需要的東西只會輸出我需要的字段值。那可能嗎? – xybrek

+0

不,你不能。您將始終使用至少_id屬性接收對象。 http://www.mongodb.org/display/DOCS/Querying#Querying-FieldSelection –

+0

但是,除了_id和您需要的一個字段之外,您可以篩選出其他所有內容。 – Thilo

相關問題