关于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中可能吗?提前加油
答案 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
});