Mongodb基础玩法

mongodb操作

基本操作

mongodb是基于分布式文件存储的nosql(非关系型)数据库.

虽说是nosqldb, but mongodb 其中的文档可以是关系型的.

在mongodb中, 表为集合, 里面的数据为文档; 文档本质就是一条调JSON数据.

进入mongodb: mongo

退出mongodb: exit

翻译: multi 多种


库操作

显示库: show dbs

选择或者创建: use llsdb # 不管该库是否存在,都会use进入, 如何该库不存在, use进去不存入数据退出时,该库 不会被创建. 所以创建库就use再写入数据.

查看所在库: db

删除库: db.dropDatabase() ,要先use进入库才删除哦.


集合操作

显示集合: show collections

创建集合: db.createCollection('llscol' [,options])

删除集合: db.llscol.drop()


数据的CURD

插入数据: db.llscol.insert({name: 'lls', age: 18})

插入多条数据:

db.llscol.insert([

    {name: 'lls1', age: 18},

    {name: 'lls2', age: 20}

])

查看数据: db.llscol.find()

带格式的数据: db.llscol.find().pretty()

全文档更新数据: db.llscol.update({name: 'haha'}, {xx: 'yy'}) # {name: ‘hha’}是条件, 用于匹配项来更新.

指定字段更新 $set,{multi: true}: db.llscol.update({name: 'lls1'}, {$set: {name: 'xxx', age: 666}}) # 前面的{}为条件, 只会更新匹配到的第一个项.

更新多条{multi: true}: db.llscol.update({name: 'lls1'}, {$set: {name: 'lls666'}}, {multi: true}) # 在全文档匹配到对应项后更新每一条JSON中的对应的键值对.

删除数据: db.llscol.remove({name: 'lls1'}) # remove 所以包含{name: ‘lls1’}的json.

只删除一条{justOne: true}: db.llscol.remove({name: 'lls1'}, {justOne: true}) # 删除匹配到的第一项.


python操作mongodb

import pymongo


client = pymongo.MongoClient('192.168.0.104', 27017)    # 连接并建立client.

db = client['llsdb']    # select database_name  db = client.llsdb
stu = db['student']     # select table_name     stu = db.student

stu.insert_one({'name': 'lls'})
stu.insert_many([
    {'name1': 'lls1', 'age': 18},
    {'name2': 'lls2', 'age': 20},
    {'name3': 'lls3', 'age': 30}
])

stu.update_one({'name1': 'lls1'}, {'$set': {'age': 20}})
stu.update_many({'name2': 'lls2'}, {'$set': {'age': 90}})

print(stu.find_one({'name2': 'lls2'}))   # 查询无args的第一行,或匹配到的第一个行.
content_find = stu.find({})     # 空字典表示查询所有.
print(content_find)
for i in content_find:
    print(i)

print(stu.delete_many({'name': 'lls'}).deleted_count)
print(stu.delete_many({}).deleted_count)

"""
方法如下:
insert_one, insert_many, update_one, update_many, delete_one, delete_many, find_one, find.
"""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值