RangeError после успешно сохраненных данных в MongoDB через узел и мангуст - PullRequest
0 голосов
/ 26 апреля 2020

У меня две коллекции в MongoDB. хозяева и места. Каждому хосту может принадлежать одно или несколько мест.

В моей UserSchema у меня есть поле:

place: [{type: Schema.Types.ObjectId, ref: 'Place'}] *

У меня есть маршрут / addhost, в котором объекты newPlace и newHost создаются с помощью схем mon goose.

Затем я помещаю sh newPlace в поле массива newHost.place.

Все правильно хранится в базе данных.

        // Save newPlace into MongoDB
        newPlace
            .save()
            .then((place) => res.json(place))
            .catch((err) => console.log(err));

        // Save place objectID into host field array
        newHost.place.push(newPlace);

        // Save newHost into MongoDB
        newHost
            .save()
            .then((host) => res.json(host))
            .catch((err) => console.log(err));

Проблема в том, что я получаю эту ошибку на моем node.js -сервере:

"RangeError: Максимальный вызов превышен размер стека в String.split () при get (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ get. js: 9: 22) в isBsonType (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ isBsonType. js: 10: 10) в клоне (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 68: 7) в cloneObject (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 114: 17) в клоне (C: \ ш eb-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 53: 16) в cloneObject (C: \ web-проекты \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 114: 17) в clone (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 53: 16) в cloneObject (C : \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 114: 17) в клоне (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 53: 16) в cloneObject (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 114: 17) в clone (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 53: 16) в cloneObject (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 114: 17) в clone (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 53: 16) в cloneObject (C: \ веб-проектов \ sprentdev \ сервер \ node_modules \ mongoo se \ lib \ helpers \ clone. js: 114: 17) at clone (C: \ web-projects \ sprentdev \ server \ node_modules \ mongoose \ lib \ helpers \ clone. js: 53: 16) "

И это продолжает повторяться. Я новичок ie Полагаю, это тривиальный случай, извините за мое невежество.

Спасибо: -)

1 Ответ

0 голосов
/ 26 апреля 2020
newPlace.save().then( place => {
    newHost.place.push(place._id);
    newHost.save().then((host) => res.json(host)).catch((err) => 
        console.log(err));
}).catch((err) => console.log(err));

Вы пытаетесь создать полный объект, который тоже старый. новый do c создан, является местом, и вам нужно сделать pu sh _id недавно созданного документа места в объекте newHost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...