2015-11-22 3 views
0

Я пытаюсь отборное значением из Монго DB так же, как мы делаем в SQL В SQL мы запрашиваем как:MeteorJS: Найти и отображение значения из MongoDB

SELECT column-name FROM table-name WHERE column-name = " something " 

Точно так же я пытаюсь сделать следующее в Метеор, чтобы получить доступ к Монго DB

collection.find({}, {Col-name1: {Col-name2 : 'xyz'}}) 

здесь я пытаюсь натянуть целое значение Col-name1, которое соответствует Col-name2: xyz

Это приводит к [object Object], который представляет собой строку на странице html. Это скорее должно быть целочисленным значением. Что я делаю не так?

Спасибо!

+0

Упрощенный примерный документ, а также примеры для 'Col-name1' и' Col-name2' были бы идеальным дополнением к этому вопросу. –

ответ

1

Вы хотите,

collection.find({Col-name2 : 'xyz'}, {Col-name1: 1}) 

{Col-name2 : 'xyz'} является критерием, чтобы соответствовать и {Col-name1: 1}, чтобы вернуться только Col-name1 поле в документе, и документ по умолчанию будет также _id. Если вы не хотите _id, вы должны указать его как {Col-name1: 1, _id: 0}

Также mongodb не возвращает значение поля. Он всегда возвращается как документ/с. Таким образом, вы должны получить доступ к полю самостоятельно в своем коде. Например, для доступа Col-name1 из возвращенного документа, вы должны использовать

document['Col-name1'] 

в вашем коде.

+0

Благодарим за ответ, но проблема начинается здесь: Col-name1: Здесь 1 не может быть задано, как в моем случае Col-name1 имеет динамическое значение, которое изменяется каждый раз при загрузке страницы – Gemcode

+1

@Gemcode. Для этого вы используете синтаксис скобок. Например, 'var fieldName = 'Col-name1';' и использовать эту переменную для доступа к полю типа 'var value = document [fieldName];' –

+0

: function starts {var fieldName = 'Col-name1'; var value = document [fieldName]; return "result is" collection.find ({}, {значение: {Col-name2: 'xxx'}}) Я попытался таким образом, но все же он возвращает объект – Gemcode

Смежные вопросы