简体   繁体   English

如何使用python本地连接到Mongo数据库

[英]How to connect to Mongo database locally using python

I am using ipython 2.7. 我正在使用ipython 2.7。 I am creating database name enron in mongodb. 我在mongodb中创建数据库名称enron。 I have tried to connect to this database locally but the following error occurred - how do I fix it? 我尝试在本地连接到此数据库,但发生以下错误 - 我该如何解决?

this my code: 我的代码:

import json
import pymongo  # pip install pymongo
from bson import json_util 
from pymongo import MongoClient# Comes with pymongo
conn = pymongo.Connection('mongodb://user:user123@localhost27017.mongolab.com:33499/enron')
client = MongoClient()

error: 错误:

ConnectionFailure: could not connect to localhost:27017: [Errno 10061] No connection     could be made because the target machine actively refused it

Below are commands to create connection and query 以下是创建连接和查询的命令

from pymongo import MongoClient
client = MongoClient('hostname', 27017)
db = client.database_name
collection = db.collection_name
collection.find_one({"name":"name1"})

请参阅此PyMongo连接以进行连接,并且不建议使用 Connection

from pymongo import MongoClient
from bson import json_util


MONGODB_HOST = 'localhost'
MONGODB_PORT = 27017
DB_NAME = 'Your DB name'
COLLECTION_NAME = 'collectionname'

@app.route("/")
def getDatas():
    connection = MongoClient(MONGODB_HOST, MONGODB_PORT)
    collection = connection[DB_NAME][COLLECTION_NAME]
    projects = collection.find()
    json_projects = []
    for project in projects:
        json_projects.append(project)
    json_projects = json.dumps(json_projects, default=json_util.default)
    connection.close()
    return json_projects

if __name__ == "__main__":
    app.run(host='0.0.0.0',port=5000,debug=True)

Run this command from command line in mongo installtion directory. 从mongo installtion目录中的命令行运行此命令。

...>mongo>...>bin> ......>蒙戈> ...>箱>

mongod --dbpath data/db (here data/db is a path where your database) mongod --dbpath data / db(这里data / db是你的数据库的路径)

#!pip install pymysql

import pymysql

pymysql.install_as_MySQLdb()

import MySQLdb

#!pip install pymongo
import pymongo
import json
from pymongo import MongoClient


import pandas as pd
from pymongo import MongoClient
# if __name__ == '__main__':
#     client = MongoClient("localhost", 27017, maxPoolSize=50)
client = MongoClient("localhost", 27017, maxPoolSize=50)
db = client.mydb
collection = db.angel
data = pd.DataFrame(list(collection.find()))

data

'''
Address City    Name    State   ZIP _id
0   123 Main St Whereverville   Jane Doe    CA  90210   5af03bfa8ca570abf4a2f76c
1   555 Broadway Ave    New York    John Doe    NY  10010   5af03bfa8ca570abf4a2f76d
'''

A derivation of @amit above, I use this to quickly test a mongodb connection: 上面的@amit的推导,我使用它来快速测试mongodb连接:

# pip install pymongo
from pymongo import MongoClient
client = MongoClient('mongodb://user:password@host:port/database')

for db in client.list_databases():
    print(db)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM