2015-04-05 3 views
0

Я новичок в веб-программировании и недавно играл с Meteor и MongoDB.Найти ценность в Meteor Mongo

У меня есть форма, которая отправляет данные в Монго и с помощью запроса ниже, получены в последнее введенное значение:

database.findOne({}, {sort: {'timeStamp' : -1}, limit:1}) 

это круто, однако, я хочу только значение определенной переменной не весь поэтому я могу использовать эту переменную с расчетами в другом месте.

Есть ли у кого-нибудь советы? Должен ли я использовать distinct()?

Спасибо!

+0

http://stackoverflow.com/questions/15961456/meteor-collection-find-always-returns-all-fields –

ответ

3

Если вы хотите, чтобы получить поле из возвращенного документа, вы можете указать, насколько используя fields вариант:

database.findOne({}, {sort: {'timeStamp' : -1}, limit:1, fields: {'myField': 1, _id: 0}) 

Это будет получить объект в формате, как это:

{'myField': 'value of myField'} 

так что, если вы хотите, чтобы взаимодействовать непосредственно с этим вы можете получить доступ к нему, как так:

var myVar = database.findOne({}, {sort: {'timeStamp' : -1}, limit:1, fields: {'myField': 1, _id: 0}).myField 

В качестве более конкретного примера, у меня есть база данных пользователя с именем пользователя, имя, _id и т.д., и, если я просто хочу, чтобы сохранить имя пользователя в другой переменной, я могу сделать так, как это:

> a = Meteor.users.findOne({}, {fields: {name: 1, _id: 0}}).name; 
> a 
<- "Bob" // returned "Bob" 

Обратите внимание, что если вы хотите вывести данные для определенного ID или другого селектора, вам необходимо заполнить, что в селекторе:

database.findOne({_id: "myId"}, ...) 

Смотрите документацию Meteor Mongo.Collection.find для получения дополнительной информации.

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