2013-08-18 78 views
1

我正在使用Node.js與表達框架和Mongoose(MongoDB),我有一個關於如何有效地檢索數據的問題。MongoDB:如何按值查找鍵

比方說,我有一個蒙戈文件是這樣的:

test : {a:1, b:2, c:2, d:1}; 

可以很容易地檢索鍵的值(A,B,C,或d),但如何做逆,爲示例檢索所有的值爲2的字母(在我的示例中,它將是'b'和'c')

謝謝!

+0

你能解釋一下用例嗎? – abipc

+0

如果你解釋這個用例,那會很好。 –

+0

如果您希望查找具有「2」的某些值的文檔,您可能想要進入聚合框架 – Dukeatcoding

回答

1
var test = {a:1, b:2, c:2, d:1}; 

var search = function(obj, value) { 
    for(var key in obj) { 
     if(test[key] === value) { 
      console.log(key); 
     } 
    } 
}; 

search(test, 2); 

//output b c 

要是小心,如果您修改了Object.prototype,那麼您可能有不需要的原型鍵,並且應該控制它。