在 MongoDB 中,我们需要插入一条记录,既可以使用 insert 方法还可以使用 save 方法。他们的具体区别如下:
使用 save 函数里,如果原来的对象不存在,那他们都可以向 collection 里插入数据,如果已经存在,save 会调用 update 更新里面的记录,而 insert 则会忽略操作。
insert 可以一次性插入一个列表,而不用遍历,效率高, save 则需要遍历列表,一个个插入。
我们首先,使用 mongo 命令,连接上数据库,具体命令如下:
mongo
如下图所示:
现在,我们使用 use 命令,切换到 haicoder 数据库,具体命令如下:
use haicoder
现在,我们使用 insert 插入一条记录,并指定主键 _id
的值,具体命令如下:
db.haicoder.insert({"_id":1, "name":"haicoder", "url":"www.haicoder.net"})
执行完毕后,此时,如下图所示:
我们看到,此时提示我们成功插入了一条记录,因此,此时的 _id
的值不存在,现在,我们再次插入同样的一条记录,执行完毕后,如下图所示:
我们看到,此时提示我们插入失败,因为主键的值已经存在了,所以不能插入,现在,我们修改为使用 save 插入,具体命令如下:
db.haicoder.save({"_id":1, "name":"haicoder", "url":"www.haicoder.net"})
执行完毕后,此时,如下图所示:
我们看到,此时提示我们成功插入了,因为,save 方法如果主键存在,则直接更新,否则,直接插入,因此,这里不会报错。
在 MongoDB 中,我们需要插入一条记录,既可以使用 insert 方法还可以使用 save 方法。他们的具体区别如下:
使用 save 函数里,如果原来的对象不存在,那他们都可以向 collection 里插入数据,如果已经存在,save 会调用 update 更新里面的记录,而 insert 则会忽略操作。
insert 可以一次性插入一个列表,而不用遍历,效率高, save 则需要遍历列表,一个个插入。