2015-03-05 5 views
0

У меня есть запрос mongo в коллекции. Это выглядит так:MongoDB найти параметры запроса

common.db.collection('vb.vbStats').find({uid:uid, "vbs.vbNID":vbNID}, {"vbs.$":1}).toArray(function(err, result) {....} 

vb.vbstats - это моя коллекция. vbs - это поле коллекции, которое представляет собой массив массивов ducoments. Мой вопрос в том, что делает {"vbs.$":1} в запросе.

+1

Это [параметр проекта] (http://docs.mongodb.org/manual/reference/glossary/#term-projection), в основном ограничивающий то, что возвращается из документов. Значение vbs. $ Ограничивает возвращаемый массив первым элементом [$ projection] (http://docs.mongodb.org/manual/reference/operator/projection/positional/#proj._S_), но я не слишком знакомы с его использованием. – Lex

ответ

0

{"vbs.$":1} - операция запроса, которая использует оператор positional $ для ограничения содержимого массива vbs из результатов запроса, чтобы содержать только первый элемент, соответствующий документу запроса.

Итак, в вашем примере проекция {"vbs.$": 1} возвращает только первый элемент в массиве vbs, который имеет vbNID = vbNID. Обратитесь к docs для получения более подробной информации.

+1

Благодарим вас за быстрый ответ. :) – user3761400

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