MongoDB 增删改查 常用sql总结

本文为博主原创,转载请注明出处:

1. 切换到指定数据库:如果不存在则创建

use database

 

2. 查看所有文档

show tables

show collections

 

3. 创建表

#创建文档
db.createCollection("my_test_collection")

#如果不存在则创建,存在则新增插入
db.test.insert({"_id":"520","name":"xiaoming"})

 

4. 插入数据

#插入一条数据
db.test.insert({"_id":"520","name":"xiaoming"})

#插入多条数据
db.my_test_collection.insertMany([{"name":"HaiCoder", "url":"www.haicoder.net"}, {"name":"C++", url:"https://haicoder.net/cpp/cpp-tutorial.html"}])

 

5. 新增修改数据 upsert

db.my_test_collection.update({"name":"test"}, {"$set":{"url":"www.haicoder.net"}}, {"upsert":true})

  MongoDB 的 update 方法的第三个参数是 upsert,这个参数是个布尔类型,默认是 false。当它为 true 的时候,update 方法会首先查找与第一个参数匹配的记录,再用第二个参数更新之,如果找不到与第一个参数匹配的的记录,就插入一条。

 

6. 数组字段增加、移除元素

## 新增数组数据
db.my_test_collection.insert({"name":"haicoder", "course":["c++","python","java"]})

更新数组数据,新增

db.my_test_collection.update({"name":"haicoder"}, {"$push":{"course" : "golang"}})

更新数组数据,删除

db.my_test_collection.update({"name":"haicoder"}, {"$pull":{"course" : "java"}})

 

7. 根据条件修改

db.my_test_collection.update({"_id" : ObjectId("5f62d74744c83190d8f6c3be"}, {"$set":{"name":"HAICODER"}})

  这个只会更新一条数据,如果要修改多条需要设置 multi 为 true

db.my_test_collection.update({"_id" : ObjectId("5f62d74744c83190d8f6c3be")}, {"$set":{"name" : "HAICODER"}}, {multi: true})

  在 MongoDB 中,通过 update 更新记录时,其中的 update 字段,如果我们不指定 set 设置器,那么默认就是将整个匹配到的文件进行替换,如果指定了 set,那么就是将该字段进行替换,如果该字段不存在,则插入该字段。

  因此,我们在使用 update 更新 mongDB 的记录时,如果仅仅是想更新某个字段,而不是对整个文档进行替换,那么一定不能忘记 set 设置器,否则,数据就会丢失。

 

8. 添加字段或移除字段

#对文档 my_test_collection 所有数据添加 activeTime 并设置初始值
db.getCollection('my_test_collection').update({},{$set:{activeTime:1669305600000}},{multi:true});

给某一条添加字段

db.qy_farmland.update({"_id": 13320},{"$set":{"status":"disable"}}, false, true);

去除某一字段

db.qy_farmland.update({"_id": 13438},{"$unset":{"status":"disable"}}, false, true);

 

9. 删除指定元素

db.my_test_collection.remove({"name" : "golang"})

  remove 删除符合条件的单条记录

db.my_test_collection.remove({"url" : "www.haicoder.net"}, {justOne:true})

 

10. 删除文档

db.my_test_collection.drop()

  删除单条记录 

db.haicoder.remove({"url" : "www.haicoder.net"}, {justOne:true})

 

11. 查询 sql 总结

  https://www.cnblogs.com/zjdxr-up/p/10698505.html

 

12. MongoDB 官网操作 api

     https://www.mongodb.com/docs/v3.2/reference/operator/update-array/