Я пытаюсь получить поле _id самого последнего документа, введенного в коллекцию.Получите заданное поле из самого последнего документа в MongoDB
Я создал коллекцию под названием Номера:
Rooms = new Meteor.Collection('rooms');
и этот код должен получить самый последний элемент ограничивается одним:
Rooms.find({}, {fields: {'_id':1}}).sort({_id:-1}).limit(1)
вместо этого, я получаю
Uncaught TypeError: Rooms.find(...).sort is not a function(…)
Где я иду не так?
Solution (спасибо @aedm)
var roomID = Rooms.findOne({}, {fields: {_id: 1}, sort: {_id: -1}});
return roomID._id.toString();
Это замечательно! Есть ли способ заставить его возвращать необработанный текст id, вместо того, чтобы теперь возвращать объект? – bafrick
Используйте 'myRoom._id.toString()'. – aedm
'myRoom._id' уже строка, не нужно ее бросать. Кроме того, '_id' * не сортируется по времени * (если вы не управляете' _id 'самостоятельно). Собственный Meteor '_id' является случайной строкой. –