# установка pymongo
sudo apt-get install build-essential python-dev
pip install pymongo
import pymongo
from pymongo import MongoClient
# подключения на хост и порт по умолчанию
client = MongoClient()
# выбор и подключение к базе
db = client.test_database
# посмотреть версию
mongod --version
#-------------------------------------------
# Получить 5 случайных документов из коллекции
x = db["coll"].aggregate( [ { "$sample": {"size": 5} } ] )
for s in x:
print(s)
# получить список баз
# подключения на хост и порт по умолчанию
client = MongoClient()
print(client.database_names())
# получить все коллекции из базы
collection = db.collection_names(include_system_collections=False)
for collect in collection:
print (collect)
# только уникальные строки
db.xxx.create_index([('name', pymongo.ASCENDING)], unique=True)
# Удалить БД, если она существует
connection.drop_database("test_database")
# Удалить коллекцию
db.final.drop()
# Добавление документов в колекцию 'users'
db.users.save( { 'name':'user 1', 'level':1 } )
db.users.save( { 'name':'user 2', 'level':2 } )
db.users.insert( { 'name':'user 3', 'level':3 } )
# или так
db["users"].insert( { 'name':'user 3', 'level':3 } )
# Полное имя колекции
print (db.users.full_name)
# Получить все документы
for user in db.users.find():
print user
# лимит
# Выбрать конкретные атрибуты
users = db.users.find({},{ 'login':1, 'name':1 })
# Получить один документ по условию
user = db.users.find_one({'name':'user 1'})
# или так
keyword = "значение1"
host_name = "имя_коллекции"
x = db[host_name].find_one({'keyword':keyword})
print (x["keyword"])
# Получить/установить значение
print user['level']
user['level'] = 7
# Сохранить документ
db.users.save(user)
# Удалить документ
db.users.remove(user)
# Установить значение в документе
db.users.update({ 'name':'user 2' }, { "$set": { 'level':5 } })
# Кол-во документов
print 'Count',db.users.count()
print 'Count lvl=2',db.users.find({'level':2}).count()
# Сортировка
for user in db.users.find().sort('level'):
print user
# в обратном порядке: .sort('level',pymongo.DESCENDING)
# Сортировка по нескольким атрибутам
db.users.find({}).sort( [('status',1),('level',-1)] )
# Ограничение выборки, пропустить один документ и выбрать не более двух
for user in db.users.find().skip(1).limit(2):
print user
# Условия
for user in db.users.find().where('this.name == "user 2" || this.level>3'):
print user
# Выбрать неповторяющиеся записи
for user in db.users.distinct('level'):
print user
# Поиск регулярным выражением
import re
regex = re.compile('^us', re.I | re.U)
result = db.collection.find({ 'name':regex })
# вставка даты и время
import datetime
db["11111"].insert({'date': datetime.datetime.utcnow()})
x = db["11111"].find_one()
print(x)
# вставка измененной даты и время
# год, месяц, день, часы, минуты, секунды, мл-секунды
x = datetime.datetime(2015, 7, 8, 18, 17, 28, 324000)
#или так
x = datetime.datetime(2015, 7, 8)
print(x)
# получить записи с конца
# выбираем все и сортируем по _id
#x = db["ru"].find({}).sort("_id", -1).limit(3)
# выбираем по условию и сортируем по last_modified
x = db["ru"].find({"flag":"y"}).sort("last_modified", -1).limit(3)
for s in x:
print(s["ip"])
sudo apt-get install build-essential python-dev
pip install pymongo
import pymongo
from pymongo import MongoClient
# подключения на хост и порт по умолчанию
client = MongoClient()
# выбор и подключение к базе
db = client.test_database
# посмотреть версию
mongod --version
#-------------------------------------------
# Получить 5 случайных документов из коллекции
x = db["coll"].aggregate( [ { "$sample": {"size": 5} } ] )
for s in x:
print(s)
# получить список баз
# подключения на хост и порт по умолчанию
client = MongoClient()
print(client.database_names())
# получить все коллекции из базы
collection = db.collection_names(include_system_collections=False)
for collect in collection:
print (collect)
# только уникальные строки
db.xxx.create_index([('name', pymongo.ASCENDING)], unique=True)
# Удалить БД, если она существует
connection.drop_database("test_database")
# Удалить коллекцию
db.final.drop()
# Добавление документов в колекцию 'users'
db.users.save( { 'name':'user 1', 'level':1 } )
db.users.save( { 'name':'user 2', 'level':2 } )
db.users.insert( { 'name':'user 3', 'level':3 } )
# или так
db["users"].insert( { 'name':'user 3', 'level':3 } )
# Полное имя колекции
print (db.users.full_name)
# Получить все документы
for user in db.users.find():
print user
# лимит
for data in db.myusers.find().limit(2):
print data
# Выбрать конкретные атрибуты
users = db.users.find({},{ 'login':1, 'name':1 })
# Получить один документ по условию
user = db.users.find_one({'name':'user 1'})
# или так
keyword = "значение1"
host_name = "имя_коллекции"
x = db[host_name].find_one({'keyword':keyword})
print (x["keyword"])
# Получить/установить значение
print user['level']
user['level'] = 7
# Сохранить документ
db.users.save(user)
# Удалить документ
db.users.remove(user)
# Установить значение в документе
db.users.update({ 'name':'user 2' }, { "$set": { 'level':5 } })
# Кол-во документов
print 'Count',db.users.count()
print 'Count lvl=2',db.users.find({'level':2}).count()
# Сортировка
for user in db.users.find().sort('level'):
print user
# в обратном порядке: .sort('level',pymongo.DESCENDING)
# Сортировка по нескольким атрибутам
db.users.find({}).sort( [('status',1),('level',-1)] )
# Ограничение выборки, пропустить один документ и выбрать не более двух
for user in db.users.find().skip(1).limit(2):
print user
# Условия
for user in db.users.find().where('this.name == "user 2" || this.level>3'):
print user
# Выбрать неповторяющиеся записи
for user in db.users.distinct('level'):
print user
# Поиск регулярным выражением
import re
regex = re.compile('^us', re.I | re.U)
result = db.collection.find({ 'name':regex })
# вставка даты и время
import datetime
db["11111"].insert({'date': datetime.datetime.utcnow()})
x = db["11111"].find_one()
print(x)
# вставка измененной даты и время
# год, месяц, день, часы, минуты, секунды, мл-секунды
x = datetime.datetime(2015, 7, 8, 18, 17, 28, 324000)
#или так
x = datetime.datetime(2015, 7, 8)
print(x)
# получить записи с конца
# выбираем все и сортируем по _id
#x = db["ru"].find({}).sort("_id", -1).limit(3)
# выбираем по условию и сортируем по last_modified
x = db["ru"].find({"flag":"y"}).sort("last_modified", -1).limit(3)
for s in x:
print(s["ip"])
Комментариев нет:
Отправить комментарий