如何从mlab数据库中检索记录

问题描述 投票:0回答:1

我是Javascript和Node的新手,我遇到了MongoDB问题。所以我设法使用连接字符串(使用mongoose)成功连接到我的数据库。这就是我被困住的地方,我想要做的是检索数据库的第一条记录。看起来像一个简单的任务,但也许我不只是理解一些语法或东西。

我认为解决方案涉及与Schemas有关的事情?我无法让他们工作。

这是我的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.log('Connected successfully');

}).on('error', function(error)
{
  console.log('Connection Error: ', error);
});

以下是数据库中记录的示例:

{
    "_id": {
        "$oid": "5c3538d8ae9fb3103c5b2691"
    },
    "data": {
        "plane_id": 2202,
        "temperature": 100
    },
    "airport": "KBUF"
}

我已经搞乱了mongoose.connection并得到了一些信息要显示,但不是我想要的。我希望输出只是数据库中的第一条记录。

javascript node.js mongodb mongoose
1个回答
1
投票

AFAIK没有从数据库中获取第一条记录的东西,但是您可以从模式中获取记录或文档(与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
});
© www.soinside.com 2019 - 2024. All rights reserved.