def create_session(login, password, path): global session if session == None: session = ThreadLocalODMSession( bind=create_datastore('mongodb://%s:%s@%s' % (login, password, path))) return session
def get_session(self): if 'session_uri' not in self.config_values: self.set_session_uri("mongodb://localhost:27017/mldatahub") if self.session is None: self.session = ThreadLocalODMSession(bind=create_datastore(self.config_values['session_uri'])) return self.session
def connection_session(): from ming import create_datastore from ming.odm import ThreadLocalODMSession session = ThreadLocalODMSession( bind=create_datastore('mongodb://localhost:27017/tutorial') ) session # The database and datastore are still available # through the session as .db and .bind session.db session.bind
def setUp(self): self.datastore = create_datastore('mim:///test_db') self.session = ThreadLocalODMSession(Session(bind=self.datastore)) class Parent(MappedClass): class __mongometa__: name = 'parent' session = self.session _id = FieldProperty(S.ObjectId) Mapper.compile_all() self.Parent = Parent self.create_app = TestApp(MingMiddleware(self._wsgi_create_object)) self.remove_app = TestApp(MingMiddleware(self._wsgi_remove_object)) self.remove_exc = TestApp(MingMiddleware(self._wsgi_remove_object_exc))
def __init__(self): self.ming_session = Session() self.DBSession = ThreadLocalODMSession(self.ming_session) class User(MappedClass): class __mongometa__: session = self.DBSession name = 'tg_user' unique_indexes = [('user_name',), ('email_address',)] _id = FieldProperty(s.ObjectId) user_name = FieldProperty(s.String) email_address = FieldProperty(s.String) display_name = FieldProperty(s.String) password = FieldProperty(s.String) self.User = User
def setUp(self): self.datastore = create_datastore('mim:///test_db') self.session = ThreadLocalODMSession(Session(bind=self.datastore)) class TestRelationParent(MappedClass): """This class _must_ have a unique class name or it will conflict with other tests.""" class __mongometa__: name = 'parent' session = self.session _id = FieldProperty(S.ObjectId) Mapper.compile_all() self.Parent = TestRelationParent self.create_app = TestApp(MingMiddleware(self._wsgi_create_object)) self.remove_app = TestApp(MingMiddleware(self._wsgi_remove_object)) self.remove_exc = TestApp(MingMiddleware(self._wsgi_remove_object_exc))
def __init__(self): self.ming_session = Session() self.DBSession = ThreadLocalODMSession(self.ming_session) class User(MappedClass): class __mongometa__: session = self.DBSession name = 'tg_user' unique_indexes = [('user_name', ), ('email_address', )] _id = FieldProperty(s.ObjectId) user_name = FieldProperty(s.String) email_address = FieldProperty(s.String) display_name = FieldProperty(s.String) password = FieldProperty(s.String) @classmethod def by_user_name(cls, user_name): return cls.query.find({'user_name': user_name}).one() self.User = User
#{initial-imports from ming import Session from ming.datastore import DataStore from ming.odm import ThreadLocalODMSession bind = DataStore('mongodb://localhost:27017/', database='odm_tutorial') doc_session = Session(bind) session = ThreadLocalODMSession(doc_session=doc_session) #} #{odm-imports from ming import schema from ming.odm import FieldProperty, ForeignIdProperty, RelationProperty from ming.odm import Mapper from ming.odm.declarative import MappedClass #} class WikiPage(MappedClass): class __mongometa__: session = session name = 'wiki_page' _id = FieldProperty(schema.ObjectId) title = FieldProperty(str) text = FieldProperty(str) comments=RelationProperty('WikiComment') class WikiComment(MappedClass):
from ming import create_datastore from ming.odm import ThreadLocalODMSession DB_PATH = 'mongodb://localhost:27017/library' SESSION = ThreadLocalODMSession(bind=create_datastore(DB_PATH))
from ming import schema from ming.odm import FieldProperty from ming.odm import ForeignIdProperty from ming.odm import RelationProperty from ming.odm.declarative import MappedClass import ming from ming.odm.mapper import MapperExtension from ming.schema import ObjectId config = configparser.ConfigParser() config.read('C://Users//Zerbs//accounts.sec') session = ThreadLocalODMSession( bind=create_datastore('mongodb://%s:%s@%s' % (config["mongo"]["login"], config["mongo"]["password"], config["mongo"]["path"])) ) class MyExtension(MapperExtension): def before_insert(self, obj, st, sess): print("--"*20) #print(str(obj.worker_id)) print(obj) if (TWorker.query.find().all()[0].get_by_id(str(obj.worker_id)) == None): raise ValueError("Worker id must match an id in table with workers") premium_size = TPremiumSize.query.find().all()[0].get_by_id(str(obj.premium_id)) if (premium_size == None): raise ValueError("Premium id must match an id in table with premium sizes")
from ming import create_datastore from ming.odm import ThreadLocalODMSession from ming import schema from ming.odm import MappedClass from ming.odm import FieldProperty from database import datastore session = ThreadLocalODMSession(bind=create_datastore(datastore)) class Group(MappedClass): class __mongometa__: session = session name = 'groups' # indexes = ['author.name', 'comments.author.name'] _id = FieldProperty(schema.ObjectId) name = FieldProperty(schema.String, unique=True) item_order = FieldProperty([schema.String]) class Item(MappedClass): class __mongometa__: session = session name = 'items' _id = FieldProperty(schema.ObjectId) name = FieldProperty(schema.String, unique=True) values = FieldProperty([]) groups = FieldProperty([schema.String])
from __future__ import absolute_import import os import ming from ming import Session from ming.odm import ThreadLocalODMSession from ming import create_datastore from depot.fields.ming import DepotExtension mainsession = Session() DBSession = ThreadLocalODMSession(mainsession, extensions=(DepotExtension, )) database_setup = False datastore = None def setup_database(): global datastore, database_setup if not database_setup: datastore = create_datastore(os.environ.get('MONGOURL', 'mim:///')) mainsession.bind = datastore ming.odm.Mapper.compile_all() def clear_database(): global datastore, database_setup if not database_setup: setup_database() try: # On MIM drop all data datastore.conn.drop_all()
#!/usr/bin/env python # -*- coding: utf-8 -*- # Clear the class names in case MappedClasses are declared in another example from ming.odm import Mapper Mapper._mapper_by_classname.clear() from ming import create_datastore from ming.odm import ThreadLocalODMSession session = ThreadLocalODMSession(bind=create_datastore('odm_tutorial')) from ming import schema from ming.odm import MappedClass from ming.odm import FieldProperty, ForeignIdProperty, RelationProperty class Transport(MappedClass): class __mongometa__: session = session name = 'transport' polymorphic_on = '_type' polymorphic_identity = 'base' _id = FieldProperty(schema.ObjectId) origin = FieldProperty(schema.String(required=True)) destination = FieldProperty(schema.String(if_missing='')) _type = FieldProperty(schema.String(if_missing='base')) def move(self): return 'moving from {} to {}'.format(self.origin, self.destination)
import os from ming.odm import MappedClass, ThreadLocalODMSession from ming import schema as s, create_datastore MingSession = ThreadLocalODMSession( bind=create_datastore(os.getenv("MONGODB_URL"))) class Login(MappedClass): class __mongometa__: session = MingSession name = "logins" _id = s.ObjectId() id = s.Int() device_id = s.Int() datetime = s.DateTime() def __str__(self): return f"<Login(mongo) device_id={self.device_id} datetime={self.datetime}>"
# Clear the class names in case MappedClasses are declared in another example from ming.odm import Mapper Mapper._mapper_by_classname.clear() #{connect-imports from ming import create_datastore from ming.odm import ThreadLocalODMSession session = ThreadLocalODMSession(bind=create_datastore('odm_welcome')) #} #{odm-model from ming import schema from ming.odm import FieldProperty from ming.odm.declarative import MappedClass class WikiPage(MappedClass): class __mongometa__: session = session name = 'wiki_page' _id = FieldProperty(schema.ObjectId) title = FieldProperty(schema.String(required=True)) text = FieldProperty(schema.String(if_missing='')) #} #{compileall from ming.odm import Mapper
from ming import create_datastore from ming.odm import ThreadLocalODMSession from api import DATABASE session = ThreadLocalODMSession(bind=create_datastore( f'mongodb://{DATABASE.user}:{DATABASE.password}@' f'{DATABASE.host}:{DATABASE.port}/{DATABASE.dbname}?authSource=admin'))
# --- --- -- --- --- --- # # --- Import Modules --- # # --- --- -- --- --- --- # import pymongo from pymongo import MongoClient from bson.objectid import ObjectId from ming import create_datastore from ming.odm import ThreadLocalODMSession from ming import schema from ming.odm import MappedClass from ming.odm import FieldProperty, ForeignIdProperty session = ThreadLocalODMSession( bind=create_datastore('mongodb://localhost:27017')) db = session.db collections = {'users': db.users, 'people': db.people}
from ming.odm import ThreadLocalODMSession, Mapper from ming.odm import ForeignIdProperty, RelationProperty from lesson_2_0 import model as M sess = ThreadLocalODMSession(M.sess) class Forum(object): pass class Thread(object): pass class Post(object): pass sess.mapper(Forum, M.Forum, properties=dict(threads=RelationProperty('Thread'))) sess.mapper(Thread, M.Thread, properties=dict(forum_id=ForeignIdProperty('Forum'), forum=RelationProperty('Forum'), posts=RelationProperty('Post'))) sess.mapper(Post, M.Post, properties=dict(forum_id=ForeignIdProperty('Forum'),
from ming import Session from ming.odm import ThreadLocalODMSession mainsession = Session() DBSession = ThreadLocalODMSession(mainsession) """:type :ming.odm.ODMSession """
def ming_session(): return ThreadLocalODMSession( bind=create_datastore(os.getenv("MONGODB_URL")), )
if os.path.isfile(app.config['UPLOAD_FOLDER'] + file) == False: # Download file to local storage s3_resource.Bucket(app.config['S3_BUCKET']).download_file( file, app.config['UPLOAD_FOLDER'] + file) # Download recipe images from S3 into local folder on server start for key in image_bucket.objects.all(): # Define image name variable image_name = key.key # Download S3 file download_s3_file(image_name) """ DATABASE CONNECTION """ # Create database session session = ThreadLocalODMSession(bind=create_datastore(app.config['MONGO_URI'])) # Create recipe variable recipes_collection = session.db.recipes # Create user variable users_collection = session.db.users # Ensure all indexes index_mapper = Mapper.ensure_all_indexes() # Drop search index drop_index = recipes_collection.drop_index('$**_text') # Create search index create_index = recipes_collection.create_index([('$**', 'text')])