node.js - 未从 mongo 数据库中获取数据。收到一个空错误。尽管 mongo 云中存在集合
问题描述
我无法通过我的获取请求接收数据。它返回一个空数组,尽管当我签入 Mongo Cloud 服务器时,它具有所有集合。我对同一数据库的另一个集合“用户”使用相同的流程和代码,并且工作正常。谁能指出错误. 我已经提供了 Router=>model=>connection 文件。[在此处输入图片描述][1]connection.js
const Schema = mongoose.Schema;
mongoose.set('useCreateIndex', true)
const url = process.env.ATLAS_URI;
mongoose.connect(url, { useNewUrlParser: true }
);
const connection = mongoose.connection;
connection.once('open', () => {
console.log("MongoDB database connection established successfully");
})
let userSchema = new Schema({
username: {
type: String,
required: true,
unique: true,
trim: true,
minlength: 3
},
}, {
timestamps: true,
}, { collection: 'users' });
let exerciseSchema = new Schema({
username: {
type: String,
required: true
},
description: {
type: String,
required: true,
},
duration: {
type: Number,
required: true
},
date: {
type: Date,
required: true
}
}, {
timestamps: true,
}, { collection: 'exercises' });
var collection = {}
collection.getUser = () => {
return mongoose.connect(url, { useNewUrlParser: true })
.then((database) => {
return database.model('users', userSchema)
}).catch((err) => {
return (err + 'Connection couln\'t be established to user database')
})
}
collection.getExercise = () => {
return mongoose.connect(url, { useNewUrlParser: true })
.then((database) => {
return database.model('exercises', exerciseSchema)
}).catch((err) => {
return (err + 'Connection couln\'t be established to exercise database')
})
}
module.exports = collection;```
[1]: https://i.stack.imgur.com/moT2z.png
解决方案
使用需要使用 find 或 findOne 查询
return database.model(...).find({}).exec();
推荐阅读
- javascript - Cordova:限制外部 javaScript、沙箱外部 JS 的 API 访问
- java - java.lang.Process 是线程安全的吗?
- sql - 使用 2 个值从 SQL Server 中选择不同的数据
- junit4 - 运行 JUnit 4 参数化测试时遇到障碍(我是 JUnit 测试的新手)
- testing - Gitlab 覆盖率徽章总是未知
- python - 过滤两个模型django
- node.js - fs.renameSync 是抗损坏的原子操作吗?
- java - 是否可以锁定显示器的不同区域?
- javascript - 使用 api 从段落中选择一个元素
- networkx - 如何将 Dijkstra 算法应用于使用 networkx 模块生成图形并调用它以每次传递不同的源顶点