MONGODB入门操作
按照惯例,官方文档的资料是最好的学习材料。
https://docs.mongodb.com/manual/
基本概念
MongoDB是面向集合的存储。以下以mongodb与MySq对比:
collection对应就是table表的概念。
ducument对应就是表中一条记录,类似一行数据。
mongodb中使用了一种类json的bson存储数据。
文档之间的逻辑联系
1.嵌入式关系
直接把一个文档嵌入到另一个文档中
{key1:value1},{key2:value2}
//把另一个文档嵌入
{ "key1":"value1",
"kv2":[
{"key2":"value2"},
{"key22":"value22"}
]
}
//嵌入式关系
2.引用式关系
分开两个文档,通过引用文档的_id字段来建立关系
{
"contact": "987654321",
"dob": "01-01-1991",
"name": "Tom Benzamin",
"address_ids":
[
ObjectId("52ffc4a5d85242602e000000")
#对应address文档的id字段
]
}#这就是引用式关系
基本操作
1.创建数据库
#使用use创建数据库
use dbname
#查看当前连接数据库
db
#查看所有数据库
show dbs
2.销毁数据库
#使用newdb
use newdb
#销毁数据库
db.dropDatabase()
3.collection(集合)的创建和删除
use mydb
#在当前所在数据库创建集合
db.createCollection("colname")
#查看所有集合
show collections
#删除colname集合
db.colname.drop()
4.集合中插入数据
A.使用.insert()
插入数据时,如果 users 集合没有创建会自动创建。
> use mydb
switched to db mydb
> db.users.insert([
... { name : "jam",
... email : "jam@qq.com"
... },
... { name : "tom",
... email : "tom@qq.com"
... }
... ])
B.使用.save()
插入数据时,如果 users 集合没有创建会自动创建。
> use mydb2
switched to db mydb2
> db.users.save([
... { name : "jam",
... email : "jam@qq.com"
... },
... { name : "tom",
... email : "tom@qq.com"
... }
... ])
区分.save()和.insert()