mongodb insert()与查找?

时间:2019-03-14 09:56:59

标签: sql mongodb nosql

关于mongodb,我是一个新手,所以我很抱歉这个问题很简单,但是我找不到任何答案。我有一个数据库,其中包含一个名为genre的集合,并且每个对象都有一个ID和Name,我想创建一个名为Event的具有id,Name,genreid的新集合。是否可以创建事件对象,而不是传入流派的ID来根据流派名称查询ID?我知道在SQL中会是

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

在Mongo中可能吗?提前加油

1 个答案:

答案 0 :(得分:0)

更新:

要插入,您需要首先根据名称找到类型_id,然后使用其_id创建事件文档。

尝试一下:

如果您使用的是Mongo Shell,则可以执行以下操作:

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

阅读Mongodb Shell methods documentation了解更多信息。

如果您使用的是猫鼬和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
});