如何从mlab数据库检索记录

时间:2019-04-09 02:45:20

标签: javascript node.js mongodb mongoose

我是Java和Node的新手,并且遇到了MongoDB的麻烦。因此,我设法使用连接字符串(使用猫鼬)成功连接到我的数据库。这是我遇到的问题,我想做的就是检索数据库的第一条记录。似乎是一个简单的任务,但也许我不只是了解一些语法或其他内容。

我认为解决方案涉及到与模式有关的问题?我还没办法让他们工作。

这是我的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并显示了一些信息,但不是我想要的。我希望输出只是数据库中的第一条记录。

1 个答案:

答案 0 :(得分: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
});