pymongo

MongoDB Full Text on an Array within an Array of Elements

和自甴很熟 提交于 2020-08-27 05:58:39
问题 I am unable to retrieve documents when an array within an array of elements contains text that should match my search. Here are two example documents: { _id: ..., 'foo': [ { 'name': 'Thing1', 'data': { 'text': ['X', 'X'] } },{ 'name': 'Thing2', 'data': { 'text': ['X', 'Y'] } } ] } { _id: ..., 'foo': [ { 'name': 'Thing3', 'data': { 'text': ['X', 'X'] } },{ 'name': 'Thing4', 'data': { 'text': ['X', 'Y'] } } ] } By using the following query, I am able to return both documents: db.collection.find

Pymongo connection timeout from remote machine

不问归期 提交于 2020-08-23 05:21:47
问题 I have a Bitnami MEAN Stack running on AWS EC2. I'm trying to connect from a remote machine using PyMongo. from pymongo import MongoClient conn = MongoClient('mongodb://username:password@ec2blah.us-east-1.compute.amazonaws.com:27017/dbname') but I keep getting an error along the lines of pymongo.errors.ConnectionFailure: timed out I have edited /opt/bitnami/mongodb/mongodb.conf to supposedly allow external connections by commenting out bind_ip = 127.0.0.1 and uncommented bind_ip = 0.0.0.0 and

爬虫数据库存储之关系型与非关系型

柔情痞子 提交于 2020-08-12 07:32:35
对于爬虫来说这些东西都是一些比较基础常识的东西,但为了记录自己的学习之路,所以简略的写下本文。 什么是数据库? 数据库是存放数据的仓库。它的存储空间很大,可以存放大量数据。用户可以对文件中的数据进行新增、查询、更新、删除等操作。 分为关系型数据库、非关系型数据库,如 MySQL、MongoDB、HBase 等,常用的库有 pymysql、pymssql、redis-py、pymongo、py2neo、thrift。 什么是关系型数据库? 关系型数据库是基于关系模型的数据库,而关系模型是通过二维表保存的,所以它的存储方式就是行列组成的表。 每一列是一个字段,每一行是一条记录。表可以看作某个实体的集合,而实体之间存在联系,就需要表与表之间的关联关系来体现。关系型数据可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”) 关系型数据库的优势: 1. 复杂查询 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。 什么是非关系型数据库? 非关系型数据库主要是基于“非关系模型”的数据库(由于关系型太大,所以一般用“非关系型”来表示其他类型的数据库 关系型数据库的优势: 1. 复杂查询 可以用SQL语句方便的在一个表以及多个表之间做非常复杂的数据查询。 2. 事务支持

遇到问题--python--mongodb--pymongo.errors.CursorNotFound: Cursor not found

自作多情 提交于 2020-08-10 23:36:32
情况 使用代码如下: import pymongo client = pymongo.MongoClient() db = client['db_name'] col = db['col_name'] demos = col.find({}) for cursor in demos: deal_data_analysis(cursor) 报错如下: pymongo.errors.CursorNotFound: Cursor not found 原因分析 col.find()获得的demos是cursor游标位置,具体使用到某个数据时,才会去查询数据库把数据拿出来。它返回的不是所有的数据,而实际上是一个“cursor”。 它的默认原理是 (具体数字需要查询mongodb官网,不同版本默认的阈值有可能有差异) :第一次向数据库查询 101 个文档,或 大于1M小于16M的数据文档,取决于哪个条件先满足;之后每次 cursor 中的文档用尽后,查询 4 MB 的文档。 另外,find() 默认返回的是 一个 10 分钟无操作后超时的 cursor。如果我一个 batch 的文档十分钟内没处理完,过后再处理完了,再用同一个 cursor id 向服务器取下一个 batch,这时候 cursor id 当然已经过期了,这也就能解释为啥我得到 cursor id not found

FastAPI says missing folder name as module

心不动则不痛 提交于 2020-08-09 18:41:20
问题 I have a question related to FastAPI with uvicorn in pycharm. My project is having following structure: LearningPy <folder name> | |-- apis <folder name> -----|--modelservice <folder name> ---------|--dataprovider.py ---------|--main.py ---------|--persondetails.py -----|--config.py First I was using following path : D:\Learnings\apis and ran following code : uvicorn main:app --reload then it was giving error : Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) Started reloader

FastAPI says missing folder name as module

佐手、 提交于 2020-08-09 18:40:10
问题 I have a question related to FastAPI with uvicorn in pycharm. My project is having following structure: LearningPy <folder name> | |-- apis <folder name> -----|--modelservice <folder name> ---------|--dataprovider.py ---------|--main.py ---------|--persondetails.py -----|--config.py First I was using following path : D:\Learnings\apis and ran following code : uvicorn main:app --reload then it was giving error : Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit) Started reloader