MongoDB数据库名称: - testdb
,
系列名称: - test_collection
我要执行的MongoDB命令: -
db.getCollection('test_collection').find({ request_time: { $gte: new Date('2018-06-22'), $lt: new Date('2018-06-26') }});
在 test_collection
的文档中,有一个名为 request_time
的密钥 . 我想在时间范围 ('2018-06-22')
和 ('2018-06-26')
中获取文档
MongoDB用户名: - 用户MongoDB密码: - 密码
MongoDB在端口27017上运行 .
我需要帮助两件事 . 我可以连接到数据库,但如果在身份验证的情况下如何提供用户名和密码 . 这是我的Python代码,
from pymongo import Connection
connection = Connection()
connection = Connection('localhost', 27017)
db = connection.testdb
collection = db.testcollection
for post in collection.find():
print post
另一件事是,
我有一个名为 mongodoc
的S3存储桶 . 我想查询mongo命令并将结果文档导入S3存储桶 .
我可以使用名为Boto的库连接到S3存储桶,
from boto.s3.connection import S3Connection
conn = S3Connection(AWS_KEY, AWS_SECRET)
bucket = conn.get_bucket(mongodoc)
destination = bucket.new_key()
destination.name = filename
destination.set_contents_from_file(myfile)
destination.make_public()
推荐的方法是什么?
1 回答
如果提供身份验证,您必须提供用户名和密码以及主机名,
对于s3连接,请尝试使用boto3而不是使用boto . boto3提供了s3客户端和资源的各种功能 . 查询后,您的mongodb结果可以以文件的形式上传到您的s3存储桶 .