Creé una sola aplicación con un Esquema y un Modelo para crear una Colección e insertar algunos Documentos.
Tengo mi archivo todoModel.js:
const mongoose = require("mongoose"); const Schema = mongoose.Schema; const todoSchema = new Schema({ username: String, todo: String, isDone: Boolean, hasAttachment: Boolean }); const Todos = mongoose.model("Todo", todoSchema); module.exports = Todos;Luego he creado un archivo setUpController.js con una muestra de mis Documentos. Luego creo un Modelo y paso mi muestra de Documentos y mi Esquema. Creo una respuesta para enviar el resultado de tje en JSON. Todo bien aquí, ya que obtengo el resultado en json al acceder a la ruta.
Aquí está el código:
Todos.create(sampleTodos, (err, results) => { if (!err) { console.log("setupTodos sample CREATED!") res.send(results); } else { console.log(`Could not create the setupTodos Database sample, err: ${err}`); } });¡¡Mi problema es que estos Documentos no se guardan en la colección!! Cuando accedo a la base de datos, no hay nada.
Este es mi archivo app.js:
mongoose.connect("mongodb://localhost:27017/nodeTodo") .then(connection => { app.listen(port); }) .catch(err => { console.log(`Could not establish Connection with err: ${err}`); });¿Alguien podría ayudarme por favor?
Gracias
No puede usar el objeto directamente sin crear una instancia de él. Intente crear una instancia y haga la llamada de función respectiva de esa instancia. En su caso, guarde el documento después de crear una instancia y funciona de maravilla.
const newTodos = new Todos({ username: "username", todo: "todos", isDone: false, hasAttachment: flase }); const createdTodo = newTodos.save((err, todo) => { if(err) { throw(err); } else { //do your staff } })Después de crear la colección, puede usar la función insertMany para insertar también un solo documento. La función recibe una matriz de objetos y la guarda automáticamente en la colección dada.
ejemplo:
Pet = new mongoose.model("pet",schemas.petSchema) Pet.insetMany([ { //your document }])guardará solo un documento codificado
Espero que haya sido de ayuda