2017-11-15-笔记1-mongoDB

来源:互联网 发布:美国的消防员知乎 编辑:程序博客网 时间:2024/06/07 19:53


文档:MongoDB中数据的基本单元,类似于关系数据库中的行

这里文档就是键值对的一个有序的集合,python里用字典表示


1.创建新的数据库

use 新数据库的名字

2.展示当前使用的数据库名字

·db;
展示所有数据库名字
show dbs;

注意:你新建的数据库不在列表中,直到你插入了至少一条文档后才能显示该数据库

3.删除数据库
db.dropDatabase();
show dbs;

4.创建数据库
db.createCollection('集合名')

5.在Mongo中,不必创建集合,当插入文档时候它会自动创建

db.集合名.insert({"name" : "python"});

6.删除集合
db.集合.drop();

7.插入一条文档
db.集合名.insert({文档})

8.一次性插入多条文档,insert()内需要传递一个列表 [ ], 列表里的每一个元素是一个文档,每个文档用字典表示。
db.集合名.insert([{文档},{文档}....{文档}])

9.查询文档
db.集合名.find()


用pretty()格式化的展示结果
db.集合名.find().pretty()


findOne()查询集合中的一条文档
db.集合名.findOne()
注意:findOne()没有pretty()方法.

10.删除文档
remove()将文档从集合中永久删除
注意:如果没有任何参数.将会把集合内的所有文档等待全部删除
db.集合名.remove({满足的条件},ture)
db.集合名.remove({ })代表删除集合中的所有文档

11.条件语句查询
db.集合名.find({条件}.pretty())

等于 =
db.mycol.find({'likes':100}).pretty()
小于lt <
db.mycol.find({'likes':{$lt:100}).pretty()
小于等于lte <=
db.mycol.find({'likes':{$lte:100}).pretty() 
大于gt >
db.mycol.find({'likes':{$gt:100}}).pretty() 
大于等于gte >=
db.mycol.find({'likes':{$gte:100}}).pretty() 
不等于ne  !=
db.mycol.find({'likes':{$ne:100}}).pretty()


12.$and:在find()中
db.集合名.find(
{
$and:
[
{key:value},{key:value}.....{key:value}
]
}
  ).pretty()


13.in 和 not in 
$in
$nin
db.集合名.find({'键值':$in:[nul1,nul2.....]})


14.更新文档
update()更改以存在文档的值,接收至少两个参数
1.查询文档:用于定位需要更新的目标文档
2.修改器文档:用于说明要对找到的文档进行那些修改


db.集合名.update(查询文档,修改器文档)


更新修改器$set是一种特殊的键,用来指定复杂的更新操作
$set修改器:指定一个字段的值,如果该字段不存在,则创建它


例子:
post = {name:'joe',age:30,sex:'M',location:"beijing"}
db.users.insert(post)
db.users.find().pretty()

db.users.update({name:'joe'},{$set:{"favoritae book":'War and Peace'}})
注意"favoritae book"中间有空格两侧的引号不可省略,因为这个属性是$set值

db.users.find().pretty()

15.$unset将某个键完全删除

db.集合名.update({"键","值"},{$unset:{"键":1}})

16. 增加和减少

$inc : increase 用来增加已有的键的值,或者该键不存在的话,就创建一个,注意:只能用于数值类型

例子:
db.tran.insert({name:'Bob'})

db.tran.update({name:'Bob'},{$inc:{score:20}})

db.tran.find().pretty()

17. 添加元素
$push 如果数组已经存在,他会向已有的数组末尾加入一个元素要是数组不存在,就创建一个新的数组

db.集合名.update({name:"Bob"},{$push:{"comment":{'yang':"good"}}})

db.集合名.update({name:"Bob"},{$push:{"comment":{'wei':"nice"}}})

18. 删除元素
$pop从数组任意一端删除元素
{$pop{'key':1}} 从数组末端删除一个元素.
{$pop{'key':-1}} 从数组头部删除一个元素

例子:

db.lists.insert({'tobo':['dishes','laundry','cleaning','cooking']})
db.lists.find().pretty()


db.lists.update({},{$pop:{'tobo':1}})
db.lists.find().pretty()


db.lists.update({},{$pop:{'tobo':-1}})
db.lists.find().pretty()


19.$pull:基于特定条件来删除元素,而不仅仅是依据元素位置删除

db.集合名.update({},{$pop:{'键' : 值}})




原创粉丝点击