Scalymongo

Een schalen-centrale MongoDB-object Document Mapper
Download nu

Scalymongo Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Naam uitgever:
  • Allan Caffee
  • Uitgever website:
  • https://github.com/allancaffee/

Scalymongo Tags


Scalymongo Beschrijving

Een scaling-centric MongoDB document object mapper ScalyMongo is een set van tools om de ontwikkeling van grootschalige gedistribueerde software gebruik te maken van MongoDB.Key PriciplesScalyMongo vereenvoudigen is bedoeld om ontwikkelaars te helpen op de volgende manieren: - schaalbaarheid: ScalyMongo maakt het gemakkelijk om te schrijven software bedoeld om efficiënt te werken op sharded MongoDB implementaties. Interne controles waarschuwen ontwikkelaars wanneer hun vragen of inserts zijn onderworpen aan slecht presteren op sharded collections.- eenvoud: ScalyMongo maakt de interactie met uw documenten vergemakkelijkt door een eenvoudige Python-vriendelijke document interface.- flexibiliteit: ScalyMongo niet proberen om alles voor te zijn iedereen. Waar nodig gebruikers rechtstreeks kunnen communiceren met de onderliggende PyMongo driver.Getting StartedBelow is eenvoudig voorbeeld van een sharded collectie van blogberichten >>> van scalymongo import Document Connection >>> klasse BlogPost (Document): ... structuur = {.. . 'auteur: basestring, ... 'title': basestring, ... 'body': basestring, ... 'unique_views': int, ... 'opmerkingen': , ...} ... indexen = , ... 'shard_key': True, ... 'unieke': True, ...}] ... __database__ = 'blog' ... __collection__ = 'blog_post' ... Het bovenstaande voorbeeld beschrijft de structuur voor een blog post. Merk op dat we uitgeroepen tot een unieke index over de auteur en de titel velden. De index is nog niet echt gemaakt, maar wetende wat indexen bestaan toelaten ScalyMongo om u te waarschuwen voor mogelijk slechte keuzes in queries. Merk ook op dat we deze index verklaard te worden gebruikt als de scherf key.Now dat we hebben een eenvoudig document klasse Laten we een voorbeeld functie. >>> conn = Connection ( "localhost", 27017) >>> bericht = conn .models.BlogPost () >>> bericht = 'Allan' >>> bericht = 'Mijn eerste bericht' >>> bericht = "Nou, ik don' t moet echt iets om over te schrijven ... ">>> post.save () Great! Nu hebben we onze eerste blog post kreeg. Nu laten we eens kijken Allan's post voor de zekerheid werd het echt gered >>> conn.models.BlogPost.find_one ({ 'author': 'Allan'}). Traceback (meest recente oproep vorige): ... scalymongo.errors. GlobalQueryException: Sommige of alle van de scherf sleutel is niet opgegeven. Ontbrekende velden werden title.What happended !? Vergeet niet dat we een scherf sleutel over de auteur en de titel velden verklaard? ScalyMongo gemerkt dat we proberen te vragen, zonder dat de volledige scherf sleutel. Dit betekent dat de vraag zou kunnen hebben om elke scherf hit in ons cluster aan de ene document dat we naar op zoek waren te vinden. Dat is waarschijnlijk niet wat we wilden doen, en het zou zeker niet iets wat we zouden willen komen op een regelmatige basis in een productie-cluster. Laten we verfijnen onze vraag een beetje, zodat het niet elke scherf heeft getroffen >>> conn.models.BlogPost.find_one ({ 'author': 'Allan', 'title': 'Mijn eerste bericht'}). {U' _id ': ObjectId (' 4deb90e41717953527000000 '), u'author': u'Allan', u'body ': u "Nou, ik heb niet echt iets om over te schrijven ...", u'title': u 'Mijn eerste bericht'} En inderdaad dat is onze eerste post. Natuurlijk soms hebben we echt iets willen, zelfs als we niet de volledige scherf sleutel te vinden. Soms is dit handig tijdens de ontwikkeling voor het opzoeken van documenten uit de interactieve console. We kunnen gewoon negeren ScalyMongo's recomendations en de query toch dwingen: >>> conn.models.BlogPost.find_one ({ 'author': 'Allan'}, allow_global = True) {u'_id ': ObjectId (' 4deb90e41717953527000000' ), u'author ': u'Allan', u'body ': u "Nou, ik heb niet echt iets om over te schrijven ...", u'title': u'My eerste bericht '} Neem dat best practices Nou dat het voor onze fundamentele overzicht van ScalyMongo. Binnenkort is een meer diepgaande introduction.Special ThanksScalyMongo werd sterk beïnvloed door de semantiek en de interface van de populaire database kader MongoKit. Speciale dank gaat uit naar Namlook en al van de ontwikkelaars die hebben bijgedragen aan MongoKit. Vereisten: · Python Beperkingen: · ScalyMongo is nog steeds in de Pre-Alpha ontwikkeling en is nog niet klaar om te worden ingezet in het wild.


Scalymongo Gerelateerde software