mongo+pymongo 快速上手项目,基操一篇就够

本文介绍了如何使用mongo命令行工具和pymongo库连接MongoDB数据库,包括基本的数据库操作、数据查询和修改。重点讲解了简单的查询、高级条件检索以及pymongo的查询和修改方法,适合初学者快速上手。
摘要由CSDN通过智能技术生成


简介:该文章主要介绍 mongo及pymongo的一些上手过程中可能需要的基本操作, 另外文章中有很多链接是我在学习过程中整合了一些比较有帮助的网站,我的本意是简洁地列出一部分经常使用的操作,一些没介绍到的点在对应的链接中都有详尽的体现,如有错误还请指正,不足之处会持续更新

mongo 数据库基本使用

项目中 mongo 可以通过直接 mongo 所在服务器进行操作, 一般使用 XSell (XShell破解版下载地址) 或者直接用命令行连接,输入下面命令之后还需要输入一下密码即可连接成功

ssh 用户名@服务器地址

在这里插入图片描述
到这里可以进行 mongo 的连接, 这时需要注意看 mongo 的配置中是否需要登录认证(一般在 /etc/mongod.conf 文件中)
在这里插入图片描述
若不需要认证,则直接使用 mongo 即可进入数据库进行操作,若需要认证的话可以使用下面命令来登录:

mongo -u用户名 -p密码

或者通过URI配置连接也可以(URI一般可能出现在项目的配置中,此配置也可在pymongo中直接使用)

mongo mongodb://username:password@127.0.0.1:27017

更多连接方式可以参考此链接 MongoDB 连接, 介绍的还是比较详尽的

mongo连接后数据库使用

进入 mongo 后我们可以使用如下命令, 更多详细操作见如下链接 MongoDB的基本操作(也可以在这看到 mongo 的一些简介)

db                              –显示当前所使用的数据库

show dbs                  –显示所有数据库名称

use 数据库名字         –切换到所输入的数据库

show tables             –显示当前数据库下的所有数据表名称

mongo 数据查操作

S. 简单查询

db.getCollection(‘表名’).findOne({‘字段名’: ‘确定值’})           –获取该检索条件下第一条数据

db.getCollection(‘表名’).find({})                                           –无检索条件即获取所有数据,也可以直接写为 find()

db.getCollection(‘表名’).find({}, {’_id’:0})                          –第二个参数对显示字段设置,默认显示所有字段,当设置某些字段值为 0 时则不显示该字段

db.getCollection(‘表名’).find({}, {’_id’:1})                          –当设置某些字段值为 1 时则只显示这些被设置的字段,其他字段则默认为 0

这里需要注意的是若不指定 sort 字段则默认按照 _id 字段(自然顺序)或者索引字段升序排列

db.getCollection(‘表名’).find().sort({‘字段名’:1})                 –按照某字段对结果进行排序,1 为升序, -1 为降序

SSR. 高级条件检索

大于 $gt,小于 $lt, 大于等于 $gte, 小于等于 $lte

db.getCollection(‘表名’).find({‘字段名’: {’$gt’:‘某个界限’})            –获取大于某个界限的数据集 小于:$lt, 小于等于:$lte, 大于等于:$gte

下面列举单个字段的并列条件,针对对字段条件并列 $and 详细用法参考 官方文档

db.getCollection(‘表名’).find({‘字段名’: {’$gt’:‘某个界限’, ‘$lte’: ‘某个界限’})          –获取某个字段大于某个界限同时小于某个界限的数据集

多条件或关系 $or 详细用法参考 官方文档

db.getCollection(‘表名’).find({’$or’:[{‘字段名’: {’$gt’: 10}}, { {‘字段名’: {’$lte’: 1}}]})            –获取大于10或者小于1的数据集

不等于 $ne

db.getCollection(‘表名’).find({‘字段名’:{’$ne’: ‘确定值’}})                                                –获取不等于确定值的数据集

包含 $in 不包含 $nin

db.getCollection(‘表名’).find({‘字段名’:{’$in’: [1, 2, 3]}})                                                   –获取字段中等于集合中数据值的数据集, 反向条件为 $nin

存在 $exists

db.getCollection(‘表名’).find({‘字段名’:{’$exists’: true}})                                                   –获取是否存在某字段的数据集, 不存在则填 false

正则 $regex

db.getCollection(‘表名’).find({‘字段名’:{’$regex’: ‘正则条件’}})           –获取改正则条件下的数据集, 其中圈定正则界限的引号可以使用 / 代替

  1. 更多用法如 $exists, $all, $mod 可参考: python-pymongo高级查询
  2. 对时间戳日期等查询可以参考 mongodb 时间类型 date

mongo 数据改操作

首先列出修改数据的三种函数, 其中要注意修改需要使用修改操作符 $set,$unset, $inc,$rename, 嵌入式文档修改及更新数组中的值,这些修改操作符用法可参考 Update Operators 文档

	db.getCollection('表名').update(	# 该方法可以修改一个或多个现有文档的特定字段或完全替换一个现有文档&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值