Я новичок в Javascript и Node, и у меня проблемы с MongoDB. Итак, мне удалось успешно подключиться к моей базе данных, используя строку подключения (используя mongoose). Вот где я застрял, я хочу получить первую запись базы данных. Кажется, простая задача, но, возможно, я не просто понимаю какой-то синтаксис или что-то в этом роде.
Я думаю, что решение связано с схемами? Однако я не смог заставить их работать.
Вот мой файл JavaScript. Обратите внимание, что имя пользователя и пароль были опущены.
const mongoose = require('mongoose');
//url to connect to database
const url = 'mongodb://<username>:<password>@ds157614.mlab.com:57614/flight_data';
//connect to mongodb
mongoose.connect(url, { useNewUrlParser: true });
mongoose.connection.once('open', function()
{
console.info('Connected successfully');
}).on('error', function(error)
{
console.info('Connection Error: ', error);
});
Вот пример записи в базе данных:
{
"_id": {
"$oid": "5c3538d8ae9fb3103c5b2691"
},
"data": {
"plane_id": 2202,
"temperature": 100
},
"airport": "KBUF"
}
Я возился с mongoose.connection и получил некоторую информацию для отображения, но не то, что хотел. Я хочу, чтобы вывод был только первой записью в базе данных.
Спасибо за ссылку, кажется, теперь я понял. Я думаю, что мой отслеживает, часть «$oid» всегда увеличивается, и я думаю, что могу отсортировать ее по этому.
Насколько я знаю, нет такой вещи, как выборка первой записи из базы данных, но вы можете получить запись или документы (так же, как строки в контексте SQL) из схемы (так же, как таблицы в контексте SQL). Для этого сначала нужно создать модель.
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const bookSchema = new Schema({
title: { type:String },
description: { type:String }
});
module.exports = mongoose.model('Book', bookSchema);
И получить с помощью
Book.find({ title:'search' }, function(err, books) {
// TODO: Do whatever you want
});
порядок не гарантируется в
mongodb
см. stackoverflow.com/questions/33018048/… Вы можете добавить поле метки времени и отсортировать его на основе этого