是否可以一次插入多个文档集合?mongodb

yyyllmsg  于 2022-11-03  发布在  Go
关注(0)|答案(2)|浏览(171)

来分解我的问题:
假设我有5本书,每本书都有作者的详细信息(每本书都有多个作者),以及出版时间的详细信息。
因此,我需要5个收藏,每本书一个,在每个收藏中我需要许多关于作者的文件,和一个关于细节的文件?
要同时将数据插入到4本书中,我需要执行哪个查询?
我正在使用mongodb

des4xlb0

des4xlb01#

这将是一个非常不寻常的MongoDB配置。通常,在数据库交互的常规过程中不会创建额外的 * 集合 ,而只创建 * 文档
如果有一个名为“书籍”的集合,每本书都是该集合中自己的文档,性能会好得多。
您可以在每个图书文档中创建一个author作为子文档,但如果有更改,这将需要大量的编写工作,并且维护起来很麻烦。
在这种情况下,最好应用关系数据库类型的策略,并创建一个名为“Authors”的单独集合,其中包含一个带有每个作者详细信息的文档。然后,您可以在相应的书籍上存储作者ID数组,并使用
$lookup**方法将作者数据与书籍数据连接起来。
一次插入多个文档是没有问题的。方法取决于您使用的MongoDB驱动程序。例如,在JavaScript/Node.js中,**insertMany()**接受一个对象数组。

beq87vna

beq87vna2#

插入多个文档集合。insertMany()可以将多个文档插入到集合中。将一个文档数组传递给方法。如果文档没有指定_id字段,MongoDB会将带有ObjectId值的_id字段添加到每个文档中。

db.collectionName.insertMany([{_id:1,name:raj},{_id:2,name:ashwin}])

你可以插入许多这样的文档。_id是可选的,如果你不接受它,那么_id将自动生成。

相关问题