Quiero conectarme a una base de datos externa que existe en local a través del servidor.
En otras palabras, quiero obtener el modelo de precio que existe en la base de datos mongodb local, no en mi servidor:
const mongooseLocal = require('mongoose'); const connectionOptions = { useCreateIndex: true, useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false }; const conn = mongooseLocal.createConnection(config.MONGODB_URI_LOCAL, connectionOptions); conn.on("error", console.error.bind(console, "connection error: ")); conn.once("open", async () => { console.log("Connected successfully"); const priceModel = await conn.Price.findOne({}); // Price is a Model in local side and not exist in my server . it's on local... console.log('init', priceModel); }); El problema es que, aunque veo el registro "Connected successfully" , no puedo obtener los datos.
Veo este error cada vez
typeErorr no puede leer la propiedad findOne de undefined
¿Cómo puedo arreglar esto?
Como estás usando mongoose , tus pasos son:
findOne del modeloEjemplo:
// Price model (price.model.ts) const mongoose = require('mongoose'); const priceSchema = new mongoose.Schema({ name: String }); exports.Price = mongoose.model('Price', priceSchema ); // index.ts (your file snippet) const mongooseLocal = require('mongoose'); const { Price } = require('./price.model.ts'); const connectionOptions = { useCreateIndex: true, useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false }; const conn = mongooseLocal.createConnection(config.MONGODB_URI_LOCAL, connectionOptions); conn.on("error", console.error.bind(console, "connection error: ")); conn.once("open", async () => { console.log("Connected successfully"); const priceModel = await Price.findOne({}); console.log('init', priceModel); });