Как видно из названия, я пытаюсь получить существующие данные, которые уже существуют в MongoDB Atlas. Данные взяты из данных примера mongoDB Atlas, и я использую базу данных sample_mflix. Я провел некоторое исследование и выяснил, что сначала я должен скопировать модель и назвать название коллекции.
В следующих случаях я попытался извлечь данные коллекции mov ie:
//Movie model
const mongoose = require('../db/mongoose')
//const mongoose = require('mongoose)
const moveiesSchema = new mongoose.Schema({
plot:{
type:String
} ,
genres:[{
type:String
}],
runtime:{
type:Number
},
cast:[{
type: String
}],
num_mflix_comments:{
type: Number
},
title:{
type: String
},
countries:[{
type: String
}],
released:{
type: Date
},
directors:[{
type: String
}],
rated:{
type: String
},
awards:{
wins:{
type: Number
},
nominations: {
type: Number
},
text: {
type: String
}
},
lastupdated:{
type: String
},
year: {
type: Number
},
imdb:{
rating: {
type: Number
},
votes:{
type: Number
},
id:{
type: Number
}
},
type: {
type: String
},
tomatoes:{
viewer:{
rating: {
type: Number
},
numReviews:{
type: Number
},
meter:{
type: Number
}
},
lastupdated: {
type:Date
}
}
}, {collection: 'movies'});
const movies = mongoose.model('movies', moveiesSchema)
module.exports = movies
Вот мой маршрутизатор:
//sample_mflix-router.js
const express = require('express')
const router = new express.Router()
const movies = require('../models/movies_model')
//Currently not working
router.get('/questions', (req, res) => {
const data = movies.findById('573a1390f29313caabcd4135')
console.log(data)
})
module.exports = router
Idk, в чем проблема Я только что последовал за этим парнем: Получение данных NULL из коллекции MongoDB Atlas
и этого парня: Как получить данные из существующей базы данных MongoDB?
Я думал, что, возможно, я неправильно сделал модель, или, возможно, мой mon go URL также неверен. Вот мой код подключения URL-адреса
MONGODB_URI=mongodb+srv://<user>:<password>@cluster0-rebv7.mongodb.net/sample_mflix?retryWrites=true&w=majority
Я поменял test с sample_mflix, потому что прочитал в другом посте, что мне следует использовать имя базы данных вместо имени по умолчанию, заданного 'test'.
Когда я пытаюсь сделать запрос get, все, что я получаю, является нулем. Иди в чем проблема, так что я надеюсь, что один из вас, ребята, может помочь.
edit: Вот мой файл подключения:
mongoose.connect(process.env.MONGODB_URI, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
useCreateIndex: true
})
module.exports = mongoose
Я почти уверен, что он подключается к MongoDB Atlas, так как так говорится на странице кластера.