码迷,mamicode.com
首页 > 数据库 > 详细

python操作mongodb数据库

时间:2018-03-03 12:16:25      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:mon   .com   query   窗口   不同   数据   iter   包含   font   

MongoDB简介

MongoDB是一种文档型的非关系型数据库(NoSQL),举例如下:

{“foo”:3,"greeting":"Hello,world!"}

并且区分大小写,key值唯一,不可重复,文档可以嵌套,键值对是有序的

集合

1、集合就是一组文档

2、文档类似于关系库里的行

3、集合类似于关系库里的表

4、集合里的文档无需固定的结构(与关系型数据库的区别)

集合的命名

1、不能是空字符串

2、不能包含\0字符(空字符)

3、不能使用system.的前缀

4、建议不包含保留字“$”

5、用.分割不同命名空间的子集合(如:blog.users)

数据库

1、多个文档组成集合,多个集合组成数据库

2、一个实例可以承载多个数据库

3、每个数据库都有独立的权限

4、保留的数据库名称(admin,local,config)

命令行操作MongoDB

参考菜鸟教程

在\MongoDB\Server\3.4\bin进入命令行窗口,然后敲mongo即进入MongoDB服务,显示所有数据库

> show dbs;

使用某一数据库(如果不存在的话则会自动新建)

> use 数据库名称;

插入数据

写数据

> stu = {
        name:Jhon,
        age:21,
        "sex":"male"
}

插入数据

> db.数据库名称.insert(stu)

查询数据

> db.数据库名称.find()

 技术分享图片

更新数据

> stu_obj = db.students.findOne()
{
        "_id" : ObjectId("5a9a01c5b1489e70f3a89a0c"),
        "name" : "Jhon",
        "age" : 21,
        "sex" : "male"
}
> stu_obj.name = "Jackchen"
Jackchen

> db.students.update({name:"Jhon"},stu_obj)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.students.findOne()
{
        "_id" : ObjectId("5a9a01c5b1489e70f3a89a0c"),
        "name" : "Jackchen",
        "age" : 21,
        "sex" : "male"
}

更新数据时,update里第二个参数会完全代替前一个参数,所以如果第二个参数只有{name:"**"},会把原来的数据删除

如果要更新多个数据,则可以使用updateMany

总结:这种方式更新数据相当麻烦,可以用修改器

删除数据

原来是三条数据:

> db.students.find()
{ "_id" : ObjectId("5a9a01c5b1489e70f3a89a0c"), "name" : "Jhon", "age" : 21, "sex" : "male" }
{ "_id" : ObjectId("5a9a04d9b1489e70f3a89a0d"), "name" : "oldhu" }
{ "_id" : ObjectId("5a9a09a3b1489e70f3a89a0e"), "name" : "Amy", "age" : 16, "sex" : "male" }

删除其中一条:

> db.students.remove({name:"oldhu"})
WriteResult({ "nRemoved" : 1 })
> db.students.find()
{ "_id" : ObjectId("5a9a01c5b1489e70f3a89a0c"), "name" : "Jackchen", "age" : 21, "sex" : "male" }
{ "_id" : ObjectId("5a9a09a3b1489e70f3a89a0e"), "name" : "Amy", "age" : 16, "sex" : "male" }

删除全部:

> db.students.remove({})
WriteResult({ "nRemoved" : 2 })
> db.students.find()
>

 

python操作mongodb数据库

标签:mon   .com   query   窗口   不同   数据   iter   包含   font   

原文地址:https://www.cnblogs.com/yqpy/p/8495945.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!