mongodb 是一种非关系型数据库(nosql)。
文档(document):形如
{ name: "sue", <---- field: value age: 26, <---- field: value status: "a" <---- field: value groups: [ "news", "sports" ] <---- field: value }
的一条记录,就叫文档。文档由 field and value pairs
组成,与json对象相似。
- 区分大小写
- field唯一 , 不可重复
- 文档可嵌套
- 键值对是有序的
集合:集合就是一组文档
sql术语 | mongodb术语 | 解释说明 |
---|---|---|
database | database | 数据库 |
table | collection | 表、集合 |
row | document | 记录、文档 |
column | field | 字段、域 |
index | index | 索引 |
table joins | 表连接、mongodb不支持 | |
primary key | primary key | 主键、mongodb自动将_id字段设置为主键 |
具体因版本不同,不宜赘述,最好参考官方文档。
连接数据库前你需要确认:
bin
文件夹路径添加到了环境变量中。mongodb shell 支持js语法,可直接书写js语句。
show dbs 显示所有数据库
use dbname mongodb 不需要单独的语句创建数据库,
直接使用就行。若数据库存在,则使用;否则创建之后使用。
db 显示当前所在数据库
> stu = { ... name: 'jhon', ... age:21} { "name" : "jhon", "age" : 21 }
> db.students.insert(stu) writeresult({ "ninserted" : 1 }) > db.students.insert({name: 'amy'})
> db.students.find() { "_id" : objectid("5ba9dfb9e840eb1e9186871e"), "name" : "jhon", "age" : 21 } > db.students.findone() { "_id" : objectid("5ba9dfb9e840eb1e9186871e"), "name" : "jhon", "age" : 21 }
"_id"是mongodb默认增加的,用来唯一标识一个文档
> db.students.update({name: 'jhon'},{name: 'jhonc'}) writeresult({ "nmatched" : 1, "nupserted" : 0, "nmodified" : 1 }) > db.students.findone() { "_id" : objectid("5ba9dfb9e840eb1e9186871e"), "name" : "jhonc" } 可以看到 age 属性也没有了。
> stu_obj = db.students.findone({name: "amy2"}) { "_id" : objectid("5ba9e3eee840eb1e91868720"), "name" : "amy2", "age" : 16, "sex" : "male" } > stu_obj.name = "jhon2" jhon2 > db.students.update({name: "amy2"}, stu_obj) writeresult({ "nmatched" : 1, "nupserted" : 0, "nmodified" : 1 }) > stu_obj = db.students.findone({name: "amy2"}) null > stu_obj = db.students.findone({name: "jhon2"}) { "_id" : objectid("5ba9e3eee840eb1e91868720"), "name" : "jhon2", "age" : 16, "sex" : "male" }
> db.students.remove({name: "jhon2"}) 删除单条 > db.students.remove({ }) 清空
from pymongo import mongoclient import datetime # 连接数据库 client = mongoclient() # 会连接到默认地址和端口,即 127.0.0.1:27017 # # 也可以写成这样 # client = mongoclient('localhost', 27017) # client = mongoclient('mongodb://localhost:27017/') # 创建数据库 db = client.test_database # 创建名叫 test_database 的数据库 # # db = client['test-database'] # 增加文档 # 创建一条文档 post = {"author": "mike", "text": "my first blog post!", "tags": ["mongodb", "python", "pymongo"], "date": datetime.datetime.utcnow()} # 将post添加到数据库,并获得"_id" post_id = db.posts.insert_one(post).inserted_id
如对本文有疑问, 点击进行留言回复!!
修复 Mac brew 安装 mongodb 报 Error: No available formula with the name ‘mongodb’ 问题详解
MongoDB中数据的替换方法实现类Replace()函数功能详解
网友评论