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