一、数据库与集合操作
1、查询数据库
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
>
2、切换数据库
> use test
switched to db test
>
3、查看集合
> show tables
emp
project
student
subject
subject2
>
4、删除数据库
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
tuling 0.000GB
> use test
switched to db test
> db.dropDatabase()
{ "ok" : 1 }
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
tuling 0.000GB
>
5、删除集合
> show tables
emp
project
student
subject
subject2
> db.subject2.drop()
true
> show tables
emp
project
student
subject
>
二、mongoDB的CURD
1、插入数据
1.1、插入单条数据:
> db.friend.insertOne({name:"wukong",sex:"man"});
{
"acknowledged" : true,
"insertedId" : ObjectId("61075940719910761eae3176")
}
> show tables
friend
> db.friend.find()
{ "_id" : ObjectId("61075940719910761eae3176"), "name" : "wukong", "sex" : "man" }
>
1.2、插入多条数据:
> db.friend.insertMany([{name:"wukong",sex:"man"},{name:"diaocan",sex:"woman",age:18,birthday:new Date("1995-11-02")},{name:"zixiao",sex:"woman"}]);
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("6107623d719910761eae3177"),
ObjectId("6107623d719910761eae3178"),
ObjectId("6107623d719910761eae3179")
]
}
> db.friend.find()
{ "_id" : ObjectId("61075940719910761eae3176"), "name" : "wukong", "sex" : "man" }
{ "_id" : ObjectId("6107623d719910761eae3177"), "name" : "wukong", "sex" : "man" }
{ "_id" : ObjectId("6107623d719910761eae3178"), "name" : "diaocan", "sex" : "woman", "age" : 18, "birthday" : ISODate("1995-11-02T00:00:00Z") }
{ "_id" : ObjectId("6107623d719910761eae3179"), "name" : "zixiao", "sex" : "woman" }
>
1.3、指定id插入数据:
> db.friend.insert([{_id:1,name:"wokong",sex:"man",age:1},{_id:2,name:"diaocan",sex:"women",birthday:new Date("1988-11-11")}]);
BulkWriteResult({
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 2,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
> db.friend.find()
{ "_id" : ObjectId("61075940719910761eae3176"), "name" : "wukong", "sex" : "man" }
{ "_id" : ObjectId("6107623d719910761eae3177"), "name" : "wukong", "sex" : "man" }
{ "_id" : ObjectId("6107623d719910761eae3178"), "name" : "diaocan", "sex" : "woman", "age" : 18, "birthday" : ISODate("1995-11-02T00:00:00Z") }
{ "_id" : ObjectId("6107623d719910761eae3179"), "name" : "zixiao", "sex" : "woman" }
{ "_id" : 1, "name" : "wokong", "sex" : "man", "age" : 1 }
{ "_id" : 2, "name" : "diaocan", "sex" : "women", "birthday" : ISODate("1988-11-11T00:00:00Z") }
>
2、查询数据
2.1、全表查询
语法:db.表名.find() (前提是进入数据库,如 use test后)
> db.friend.find()
{ "_id" : ObjectId("61075940719910761eae3176"), "name" : "wukong", "sex" : "man" }
{ "_id" : ObjectId("6107623d719910761eae3177"), "name" : "wukong", "sex" : "man" }
{ "_id" : ObjectId("6107623d719910761eae3178"), "name" : "diaocan", "sex" : "woman", "age" : 18, "birthday" : ISODate("1995-11-02T00:00:00Z") }
{ "_id" : ObjectId("6107623d719910761eae3179"), "name" : "zixiao", "sex" : "woman" }
{ "_id" : 1, "name" : "wokong", "sex" : "man", "age" : 1 }
{ "_id" : 2, "name" : "diaocan", "sex" : "women", "birthday" : ISODate("1988-11-11T00:00:00Z") }
>
2.2、运算符
$and:与,即多个条件交集
> db.emp.find()
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
> db.emp.find({$and:[{"job":"讲师"},{"dep":"讲师部"}]})
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
>
$or: 或,即多个条件并集
> db.emp.find()
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
> db.emp.find({$or:[{job:"班主任"},{"job":"教务"}]})
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
>
$in:包含,即一个列的多个取值的并集
> db.emp.find()
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
> db.emp.find({"name":{$in:["小乔","大乔"]}})db.emp.find({"name":{$in:["小乔","大乔"]}})
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
>
$gt:大于。
> db.emp.find()
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
> db.emp.find({"salary":{$gt:8000}})db.emp.find({"salary":{$gt:8000}})
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
>
$gte:大于等于。
> db.emp.find()
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
> db.emp.find({"salary":{$gte:8000}})db.emp.find({"salary":{$gte:8000}})
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
>
$lt:小于。
> db.emp.find()
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
> db.emp.find({"salary":{$lt:5000}})db.emp.find({"salary":{$lt:5000}})
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
>
$lte:小于等于。
> db.emp.find()
{ "_id" : 1101, "name" : "鲁班", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1102, "name" : "悟空", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1103, "name" : "诸葛", "job" : "讲师", "dep" : "讲师部", "salary" : 10000 }
{ "_id" : 1105, "name" : "赵云", "job" : "讲师", "dep" : "讲师部", "salary" : 8000 }
{ "_id" : 1106, "name" : "韩信", "job" : "校长", "dep" : "校办", "salary" : 20000 }
{ "_id" : 1107, "name" : "貂蝉", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1108, "name" : "安其", "job" : "班主任", "dep" : "客服部", "salary" : 8000 }
{ "_id" : 1109, "name" : "李白", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1110, "name" : "默子", "job" : "教务", "dep" : "教务处", "salary" : 8000 }
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
> db.emp.find({"salary":{$lte:5000}})db.emp.find({"salary":{$lte:5000}})
{ "_id" : 1111, "name" : "大乔", "job" : "助教", "dep" : "客服部", "salary" : 5000 }
{ "_id" : 1112, "name" : "小乔", "job" : "助教", "dep" : "客服部", "salary" : 3000 }
>