Имя базы данных 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 Password: - пароль
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
Другое дело,
У меня есть ведро S3 под названием mongodoc. Я хочу запросить эту команду mongo и импортировать документы результатов в корзину S3.
Я могу подключиться к ведру S3 с помощью библиотеки под названием Boto,
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()
Какой рекомендуемый способ добиться этого?






В случае аутентификации вы должны указать имя пользователя и пароль вместе с именем хоста,
connection=Connection(hostname = "",username = "",password = "")
А для подключения s3 попробуйте использовать boto3, а не boto. boto3 предоставляет широкий спектр функций, доступных как для клиента s3, так и для ресурсов. После запроса ваши результаты mongodb могут быть загружены в ваши корзины s3 в виде файлов.
Вы просмотрели документацию: api.mongodb.com/python/current/examples/authentication.html, в которой подробно описано, как аутентифицироваться с помощью имени пользователя и пароля?