本文为博主原创,转载请注明出处:
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/