插入文档
单个插入
这里我都在可视化工具 robo 3T下操作了
user1 = { "name":"李四", "age":"21", "gender":"男" } db.userInfo.insert(user1)
这里我定义一个user1,json格式的数据,调用insert命令,成功插入,这个命令也可以插入多条。
需要注意的是,原来userInfo这个集合中没有gender字段,随着这个数据的插入,会新增,不会报错,如果是关系型数据库,肯定报错。
user1 = { "name":"李四", "age":"21", "gender":"男", "info":{ "country":"中国", "province":"四川", "city":"成都" } } db.userInfo.insertOne(user1)
还有insertOne,插入一条数据。
插入数据时,会自动给一个索引列,_id,这是固定的,然后随机生成唯一的值,如果想指定这个值,只需要在user1中声明_id就行了,注意不要重复。
另外我这里声明user1这种json格式的数据,只是为了直观,直接把json写在insert里也可以,但是看着费劲些。
一个特殊的方法save,指定_id的情况下,如果已存在,是修改,不存在是新增,不指定_id,是新增。
user1 = { "_id":"1", "name":"王五", "age":"16", "gender":"女", "info":{ "country":"中国", "province":"北京", "city":"北京" } } db.userInfo.save(user1)
第一次执行顺利新增,修改一下age,再次执行,变成更新。
批量插入
很简单,json改成数组就行了
user1 = { "_id":"2", "name":"露西", "age":"11", "gender":"女", "info":{ "country":"中国", "province":"北京", "city":"北京" } } user2 = { "_id":"3", "name":"李雷", "age":"18", "gender":"男", "info":{ "country":"中国", "province":"香港", "city":"香港" } } db.userInfo.save([user1,user2])
这里定义2个json,调用save方法,插入数组,执行成功。
另外还有insert,insertMany,都一样,插入数组就行。
需要注意的就是save,insert,insertMany 批量插入时参数用[ ]括起来。