Articles of mongoengine

Cómo buscar documento por oid en mongoengine

Necesito obtener documentos de db por oid, como: Docs.objects(_id=’4f4381f4e779897a2c000009′) Pero cómo hacerlo, si _id requiere el objeto ObjectId e incluso bash establecer ObjectId desde pymongo no funciona. Docs.objects(_id=pymongo.objectid.ObjectId(‘4f4381f4e779897a2c000009’)) volver lista vacía

valor predeterminado mongoengine de otro campo

Estoy probando MongoEngine para un proyecto y es bastante bueno. Me preguntaba si es posible establecer un valor predeterminado para un campo de otro campo? Algo como esto import mongoengine as me class Company(me.Document): short_name = me.StringField(required=True) full_name = me.StringField(required=True, default=short_name) esto falla con un error ValidationError (Company:None) (StringField only accepts string values: [‘full_name’]) :EDITAR: […]

¿Cuál es la forma correcta de actualizar un campo de lista de documentos incrustados en mongoengine?

Estoy tratando de definir métodos para realizar verificaciones y actualizaciones en un campo de lista de documentos incrustados en mongoengine. ¿Cuál es la forma correcta de hacer lo que estoy tratando de hacer? El código está abajo. class Comment(EmbeddedDocument): created = DateTimeField() text = StringField() class Post(Document): comments = ListField(EmbeddedDocumentField(Comment)) def check_comment(self, comment): for existing_comment […]

Frasco no carga la configuración

Estoy enfrentando problemas con la configuración de carga en Flask. from config import config, DevelopmentConfig, TestingConfig, ProductionConfig def create_app(config_name): app = Flask(__name__) app.config.from_object(config[config_name]) # Doesnot load configuration app.config.from_object(DevelopmentConfig) # Loads configuration succesfully. He comprobado el tipo de configuración [config_name], etc. Están bien. El archivo de configuración se da como sigue. No hay problemas con la […]

Agregación en matraz-mongoengine

Solo estoy mirando hacia fuera con MongoDB y estoy mirando una aplicación con flask-mongoengine y quiero agregar algunos documentos. Estoy usando flask-mongoengine y cuando bash class MyDocumentModel(db.Document): name = db.StringField(max_length=55) MyDocumentModel.objects.aggregate() Me sale el error: AttributeError: el objeto ‘BaseQuerySet’ no tiene atributo ‘agregado’

Actualización de una lista de documentos incrustados en mongoengine

Estoy luchando con la syntax mongoengine. Tengo los siguientes modelos … class Post(EmbeddedDocument): uid = StringField(required=True) text = StringField(required=True) when = DateTimeField(required=True) class Feed(Document): label = StringField(required=True) feed_url = StringField(required=True) posts = ListField(EmbeddedDocumentField(Post)) def my_method(self, post): pass … y con el objeto de publicación pasado a my_method, me gustaría actualizar una publicación existente si existe […]

PyMongo vs MongoEngine para Django

Para uno de mis proyectos prefiero usar Django + Mongo . ¿Por qué debería usar MongoEngine , pero no solo PyMongo ? ¿Qué son las ventajas? La consulta con PyMongo da resultados que ya son objetos , ¿no es así? Entonces, ¿cuál es el propósito de MongoEngine?

Uso de los métodos de clase de documento de MongoEngine para validación personalizada y ganchos de guardado previo

Actualmente estoy explorando las posibilidades del “mapeador de documentos de objeto” de MongoEngine. Lo que actualmente no me queda claro es hasta qué punto puedo mover mi lógica de validación y creación de objetos a los objetos del Documento. Tengo la impresión de que no debería ser un problema, pero no encuentro muchos ejemplos / […]

filtrar elementos incrustados de todas las clases en mongoengine

Tengo dos clases en Mongoengine: class UserPoints(EmbeddedDocument): user = ReferenceField(User, verbose_name=’user’) points = IntField(verbose_name=’points’, required=True) def __unicode__(self): return self.points Y class Local(Document): token = StringField(max_length=250,verbose_name=’token_identifier’,unique=True) points = ListField(EmbeddedDocumentField(UserPoints),required=False) def __unicode__(self): return self.name Si hago algo como: “LP = Local.objects.filter (points__user = user)” Obtuve todos los locales con puntos de usuario de mi usuario. Pero quiero […]

ordenar un ListField en mongoengine

Tengo un modelo en mongoengine definido así: class Task(Document): name = StringField(required=True, unique=True) frequency = IntField(required=True) quantity = IntField() units = StringField() events = ListField(DateTimeField(default=datetime.datetime.now)) ¿Cómo puedo obtener el último event ? He intentado lo siguiente sin éxito: def latest(self): return self.events.sort()[-1] En lugar de devolver los events ordenados por sort devuelve None