Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql mongodb insert()是否具有查找功能?_Sql_Mongodb_Nosql - Fatal编程技术网

Sql mongodb insert()是否具有查找功能?

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

对于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 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”。像这样的。