
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3 插入文档
首先,尝试写入一条数据:

这里,use appdb用于切换到appdb数据库,接着向当前库的book集合执行一个insert操作。成功之后,shell返回了结果,其中nInserted=1表示写入了一条数据。
这里是不是少了点什么?假定你有使用关系型数据库的经验,则可能会记得正确的顺序应该是:
● 创建数据库。
● 创建表。
● 插入数据。
然而在MongoDB中,前面的两个步骤都不是必须的,数据库、集合都是动态创建的。在首次写入数据后,我们就可以通过show collections看到对应的集合被生成了,如下:

接下来,还可以继续向book集合中写入更多的数据,如下面这段代码:


这里会向book集合中写入50条随机数据,我们可以使用insertMany命令一次性写入全部文档,通常可以获得更高的插入效率。
执行上述代码,响应结果如下:


从结果中可以看到,MongoDB为每个文档自动创建的id字段,默认使用的是ObjectId类型。当然,我们也可以自己指定这个id,关于ObjectId会在后面的章节中介绍。