mongoDb的数据库是由多个集合组成,一个集合又是由多个文档组成,那么这里插入数据,实际上就是对集合跟文档的操作了。
由于mongoDb是介于关系型跟菲关系型数据库之间的,再加上mongoDb文档中存在的都是键值对的形式(key/value),因此这也导致了,mongoDb插入数据要比关系型的要简单的多了,不像关系型数据那样,要想插入数据就必须要建立数据表,然后再插入数据mongoDb插入数据可以通过insert()或者save()命令完成。
基本格式:db.集合名称.insert(要插入的值);
或者
db.集合名称.save(要插入的值);说明:上面的集合名称,mongoDb在该集合不存在的情况下,会自动建立例如:
---用于查询testCollection下的所有文档,将在后面讲解说明:上面db.testCollection.insert()中testCollection是集合的名称,如果mongoDb在数据库testMongoDb下没有这个集合的话会先建立这个集合,然后再插入要插入的数据大家可以通过show collections 来查看该数据库下面的所有集合例如:接着上面的例子>show collections (回车)大家会看到列表会出现testCollection.mongoDb定义变量mongoDb也可以定义变量,将文档值先赋值给变量,然后插入的时候接收这个变量就可以因此插入也可以变形为:变量名={文档值}
db.集合名称.insert(变量名)
或者
db.集合名称.save(变量名)例如:
大家可以自行看看运行结果说明:
运行find()时可能会发现罗列出来的数据,多了一个_id及其对应的ObjectId的值,这个是mongoDb自动生成的,类似于唯一标识,这就避免了其它数据库意外地选择相同的惟一标识符的情况。
save()跟insert()的区别大家在网上看例子也好,可能会发现大多数人喜欢用save()来保存数据,既然save()跟insert()都能够满足插入数据的要求,那么为什么都喜欢用save()那?难道他英文拼写比较短?答案当然不是了,其实save()跟insert()是有区别的,主要区别在于save()实际上是insert()跟update()的结合体,也就是说save()会根据上下文环境自动选择是新保存一条数据还是更新这条数据。
在日常使用中,就需要合理的应用save()跟insert()了。