Articles of mongodb query

pymongo: eliminar duplicados (¿reducir mapa?)

Tengo una base de datos con varias colecciones (en general ~ 15mil documentos) y los documentos se ven así (simplificado): {‘Text’: ‘blabla’, ‘ID’: 101} {‘Text’: ‘Whuppppyyy’, ‘ID’: 102} {‘Text’: ‘Abrakadabraaa’, ‘ID’: 103} {‘Text’: ‘olalalaal’, ‘ID’: 104} {‘Text’: ‘test1234545’, ‘ID’: 104} {‘Text’: ‘whapwhapwhap’, ‘ID’: 104} Todos ellos también tienen un campo _id único, pero quiero eliminar […]

Búsqueda de MongoDB para cada dictado en la lista en la colección

Tengo una collection contiene una list de dicts y quiero buscar si algún dictado contiene dos key:values específicas key:values . Entonces, por ejemplo, quiero encontrar una en la que un dict contenga un nombre y un apellido específicos. Esta es mi colección: { “names”: [ { “firstName”: “bob”, “lastName”: “jones”, “age”: “34”, “gender”: “m” }, […]

Serializando MongoDB find () regresa a una matriz JSON no anónima, usando PyMongo

Mi código de Python consulta un MongoDB y recupera una matriz de los siguientes objetos: { u’attribute’: u’value’, u’_id’: ObjectId(‘534776c66e5987041f6154bd’) } Lo que quiero lograr, es devolver el siguiente JSON: { ‘mycollectionkey’ : [ { ‘attribute’:’value’, ‘_id’: ObjectId(‘534776c66e5987041f6154bd’) }, …and so on. ] } Sin embargo, cuando lo hago: docs = mongodb.find(…query…) docs_json = bson.json_util.dumps(docs) […]

¿Cómo ordeno una colección basada en valores en una matriz?

Tengo una colección llamada resultado con los siguientes valores: > db.result.findOne() { “_id” : ObjectId(“53b05264421aa97e980ba404”), “result” : [ { “attempted” : 49, “subject_total_marks” : 50, “score” : 15, “correct_subject_answer” : 15, “subject” : “Biology” }, { “attempted” : 30, “subject_total_marks” : 30, “score” : 4, “correct_subject_answer” : 4, “subject” : “Chemistry” }, { “attempted” : […]

grupo pymongo por fecha y hora

Estoy tratando de buscar en una colección y agrupar registros por fecha, que es una fecha y hora. Sé que pymongo los convierte al tipo adecuado en el fondo (ISODate o algo así). La pregunta es, ya que los objetos datetime tienen fecha, hora, zona horaria … ¿cómo puedo decirle al operador del grupo que […]

Iterando a través de PyMongo, el cursor lanza InvalidBSON: el año está fuera de rango

Estoy usando PyMongo para iterar simplemente sobre una colección de Mongo, pero estoy luchando con el manejo de grandes objetos de fecha Mongodb. Por ejemplo, si tengo algunos datos en una colección que se parece a esto: “bad_data” : [ { “id” : “id01”, “label” : “bad_data”, “value” : “exist”, “type” : “String”, “lastModified” : […]

pymongo: el nombre ‘ISODate’ no está definido

Tengo un problema cuando bash seleccionar datos en mongodb con pymongo, este es mi código: import pymongo from pymongo import MongoClient import sys from datetime import datetime try: conn=pymongo.MongoClient(‘10.33.109.228’,27017) db=conn.mnemosyne data_ip=db.session.aggregate({‘$match’:{‘timestamp’:{‘$gte’: ISODate(‘2016-11-11T00:00:00.000Z’),’$lte’: ISODate(‘2016-11-11T23:59:59.000Z’)}}},{‘$group’:{‘_id’:’$source_ip’}}) for f in data_ip: print f[‘_id’] except pymongo.errors.ConnectionFailure, e: print “Could not connect to MongoDB: %s” % e y cuando lo ejecuto […]

PyMongo crea un índice único con 2 o más campos

¿Cómo puedo crear un índice en pymongo con 2 campos, para ser únicos juntos? Tengo este codigo self.db[self.mongo_collection].create_index(“url”, unique=True) Pero necesito ser único con url y category .

Seleccione basado en la marca de tiempo y actualice la marca de tiempo con cero

¿Cómo selecciono los registros de un campo de fecha que tiene un valor de hora (HH: MM: SS.Milisegundo) mayor que cero de la colección de Mongodb y lo actualizo con el valor de hora (HH: MM: SS) como cero manteniendo el valor de la fecha igual que existente en la secuencia de comandos de python. […]

Proporcionar una pista en upserts a granel

¿Hay alguna manera de proporcionar una sugerencia para un aumento en un volumen en MongoDB / Python? Me gustaría agregar una sugerencia en una consulta como: Bulk.find().upsert().update() . Yo he tratado: Bulk.find().hint().upsert().update() : el método .hint() no existe. Bulk.find({‘$query’: , ‘$hint’: }).upsert().update() : no se puede combinar la syntax {$query: } con el método encadenamiento […]