Вставка mongodb () с поиском? - PullRequest
1 голос
/ 14 марта 2019

Я новичок, когда дело доходит до mongodb, поэтому я прошу прощения, если этот вопрос прост, но я нигде не мог найти ответ.У меня есть БД с одной коллекцией под названием жанр, и у каждого объекта есть идентификатор и имя, я хочу создать новую коллекцию с именем Event, которая имеет идентификатор, имя, жанр.Можно ли создать объект события, но вместо того, чтобы передавать идентификатор жанра для запроса идентификатора на основе имени жанра?Я знаю, что в SQL это будет

 Insert into event(id,name,genreID) values (01,test,(select Id from genre where genre.name ='rock'));

Возможно ли это в Монго?Приветствия заранее

1 Ответ

0 голосов
/ 14 марта 2019

Обновление:

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

Попробуйте это:

Если вы используете Mongo Shell, вы можете сделать это:

var genre = db.genres.findOne({name : "genre_name"});
db.events.insert({
    name : "event_name",
    genreid : genre._id
})

Прочтите Документация методов Mongodb Shell для получения дополнительной информации.

Если вы используете mongoose и nodejs, вы можете использовать это:

Genre.findOne({name : "genre_name"}).then(genre => {
    var event = new Event();
    event.genreid = genre._id;
    event.name = "event_name";
    return event.save();
}).then(event=>{
    //event is the newly created event
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...