Sql mongodb insert()是否具有查找功能?
对于mongodb,我是个新手,所以如果这个问题很简单,我很抱歉,但是我在任何地方都找不到答案。我有一个DB,它有一个名为genre的集合,每个对象都有一个ID和名称,我想创建一个名为Event的新集合,它有ID、Name和genreid。是否可以创建一个事件对象,但不传递流派的id,而是根据流派名称查询id?我知道在SQL中是这样的Sql mongodb insert()是否具有查找功能?,sql,mongodb,nosql,Sql,Mongodb,Nosql,对于mongodb,我是个新手,所以如果这个问题很简单,我很抱歉,但是我在任何地方都找不到答案。我有一个DB,它有一个名为genre的集合,每个对象都有一个ID和名称,我想创建一个名为Event的新集合,它有ID、Name和genreid。是否可以创建一个事件对象,但不传递流派的id,而是根据流派名称查询id?我知道在SQL中是这样的 Insert into event(id,name,genreID) values (01,test,(select Id from genre where g
Insert into event(id,name,genreID) values (01,test,(select Id from genre where genre.name ='rock'));
在Mongo有可能吗?提前干杯更新:
要插入,您需要首先根据名称查找流派id,然后使用其id创建事件文档
试试这个:
如果您使用的是Mongo Shell,则可以执行以下操作:
var genre = db.genres.findOne({name : "genre_name"});
db.events.insert({
name : "event_name",
genreid : genre._id
})
阅读更多信息
如果您使用的是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
});
更新:
要插入,您需要首先根据名称查找流派id,然后使用其id创建事件文档
试试这个:
如果您使用的是Mongo Shell,则可以执行以下操作:
var genre = db.genres.findOne({name : "genre_name"});
db.events.insert({
name : "event_name",
genreid : genre._id
})
阅读更多信息
如果您使用的是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
});
您是否使用mongoose来处理mongoDb?您是在nodejs中使用它,还是在ubuntuAre中使用什么平台?命令行使用mongoose来处理mongoDb?您是在nodejs中使用它,还是在什么平台上使用它?ubuntuThis中的命令行将用于查询查找具有特定类型的所有事件,但我希望在事件中插入数据。但是对于genreID,我想在这里使用一个查询,而不仅仅是“01”。像这样的。这将用于查询以查找具有特定类型的所有事件,但我希望在事件中插入数据。但是对于genreID,我想在这里使用一个查询,而不仅仅是“01”。像这样的。