Nauka mnie MongoDB i nie mogę zrozumieć, dlaczego nie mogę utworzyć nowego obiektu.

Próbuję utworzyć nowy obiekt w kolekcji "Czat", używając params, aby popchnąć identyfikator użytkownika do tablicy "Użytkownicy".

Błąd, jaki otrzymuję: "Post / API / Czat / Dodaj / 5F14BB0564D9783290B54B8 / 5F14C0992A9EF9454576D0FC 500 3.899 MS - 2494
TypeError: Chat.Insert nie jest funkcją "

Modele:

const chatSchema = new mongoose.Schema({
    users: [{
        type: String
    }]
}, {timestamps: true})

module.exports = mongoose.model("chat", chatSchema);

Trasy:

const express = require('express');
const router = express.Router();

const {loadRooms, createChat} = require ('../controllers/chat')

router.get('/chats/:userId', loadRooms);
router.post('/chat/add/:userId/:contactId', createChat);

module.exports = router;

Kontroler:

exports.createChat = (req, res) => {
    Chat.insert({users: [req.params.userId, req.params.contactId]}, 
        (err, chat) => {
        if(err) {
            return res.status(400).json({
                error: errorHandler(err)
            })
        }
        res.json(chat)
    })       
}
0
PakoszKonrad 3 sierpień 2020, 00:12

1 odpowiedź

Najlepsza odpowiedź

To będzie coś takiego

let createdObj=new Chat({users: [req.params.userId, req.params.contactId]});
createdObj.save().then(data=>{}).catch(err=>{});

To, jeśli chcesz pracować z Mongoose Model. Jeśli chcesz pracować z rodzimym API, to będzie coś takiego (nie jestem pewiennia składni)
Chat.collection.insertOne

0
Abdelrahman Hussien 2 sierpień 2020, 21:17