2012-05-22 24 views
5

Algo está mal con esta consulta, y no puedo decir cuál es. Estoy seguro de que es algo muy simple:! E.eoo() error en la consulta MongoDB

db.foo.insert({ 
    'created at': new Date(), 
    ooc: false, 
    body: '<p>Moo</p>\n', 
    keywords: [ 'Moo' ], 
    mentioned: [], 
    tags: [], 
    sender: { 
     _id: 'stuff', 
     name: 'lambdadusk', 
     'display name': 'Lambda' 
    } 
}); 

El error que recibo de Mongo es simplemente

!e.eoo() 

estoy usando MongoDB 2.0.5. Buscar en Google el error no me dice mucho.

+2

Impresionante! Ese error es exactamente el ruido que hago cuando veo errores de código. –

+0

@MattGibson Espero que no te estés burlando de mi estupidez. – Lanbo

+0

No, en absoluto. Ese es el asombro genuino de que un sistema genere un mensaje de error inútil e imite el ruido que produciría al ver un mensaje de error inútil. No deberías sentirte estúpido por no saber qué hacer con eso. Los desarrolladores de Mongo tienen mucho por lo que responder si eso es todo lo que estás recuperando. –

Respuesta

2

debería haber probado que antes.

El problema no es la consulta, pero el archivo de datos BSON de la colección estaba dañado de alguna manera. Tuve que soltar la colección, luego volver a intentarlo.

Por suerte, la colección estaba vacía como soy temprano en el desarrollo.

0

eoo significa fin de objeto y si no está allí, es posible que tenga un error de análisis en su JSON. Posiblemente, Mongo quiere un JSON estrictamente válido, por lo que es posible que necesite usar comillas dobles para todas las cadenas y quizás eliminar el nuevo bit de Fecha().

http://jsonlint.com/ sugirieron que esto sería válido, mientras que el código que publica no lo es. No estoy seguro de si eso ayudará o no, ya que Mongo usa BSON, por lo que puede ser más flexible.

{ 
    "created at": {}, 
    "ooc": false, 
    "body": "<p>Moo</p>\n", 
    "keywords": [ 
     "Moo" 
    ], 
    "mentioned": [], 
    "tags": [], 
    "sender": { 
     "_id": "stuff", 
     "name": "lambdadusk", 
     "displayname": "Lambda" 
    } 
} 
Cuestiones relacionadas