MongoDB基本操作

本文详细介绍如何使用Python的pymongo库进行MongoDB数据库的操作,包括连接数据库、创建和删除索引、插入和更新数据、查询数据等核心功能,以及如何使用正则表达式进行复杂查询。
# /PycharmProjects/carspider
# -*- coding: utf-8 -*-
# @Time    : 19-2-15 下午4:52
# @Author  : hqian
# @File    : 本地mongodb练习.py
# @Software: PyCharm
import sys
import pymongo
reload(sys)
sys.setdefaultencoding('utf-8')

# mongodb 链接
# mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
# db = MongoClient('mongodb://账号:密码@IP:密码/库名')

client = pymongo.MongoClient('127.0.0.1', 27017)
db = client['research']
col = db['Anjuke']
# 建立索引
col.create_index([
    ("first_class", pymongo.ASCENDING),
], background=True)

# 查看索引
col.getIndexes()

# 删除所有索引
col.dropIndexes()

# 删除指定索引
col.dropIndex("索引名称")

# 插入一条数据
col.insert_one({'test1':1,'test2':2})

#插入多条数据
col.insert_many([{'test1':5},{'test1':6}])

# 更新一条数据,upsert=False只更新查询到的第一条数据,True全部更新
col.update({'test1':1},{'$set':{"test1":3}},upsert=False)

# 更新数据,True有则更新,无则插入
col.update({'test1':2},{'$set':{"test1":3}},upsert=True)

# 查询
col.find({},{"title":1,"_id":0}).limit(2)

# 跳级查询
col.find({},{"title":1,"_id":0}).limit(1).skip(1)

# 排序
col.find({},{"title":1,"_id":0}).sort({"_id":-1})

'''
skip(), limilt(), sort()三个放在一起执行的时候,
执行的顺序是先 sort(), 然后是 skip(),最后是显示的 limit()。
'''
# 正则表达式  $regex
db.getCollection('keyun_car').find({"status" : 3,'track':{$regex:"HTTP 599"}},{"url":1,'_id':0})

# 获取当前数据库下所有的collection名称
# pymongo 3.6   collection_names(include_system_collections=True, session=None)
# pymongo 3.7   list_collection_names(session=None)
db.collection_names(include_system_collections=True,session=None)


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值