2013-08-18 3 views
1

Я использую Node.js с выраженной структурой и Mongoose (MongoDB), и у меня есть вопрос о том, как эффективно извлекать данные.MongoDB: Как найти ключ по значению

Скажем, у меня есть что-то вроде этого на Монго документа:

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

Это легко получить значение ключей (а, б, в, или 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, тогда у вас могут быть нежелательные ключи прототипов, и вы должны управлять им.