2012-08-17 1 views
2

J'ai une configuration Vagrant avec Mongo et PHP, mais à chaque fois que j'essaie de courir une insertion simple dans une collection Mongo, je reçois l'erreur ci-dessus,PHP & Mongo dans Vagrant, "exception non interceptée 'MongoException' avec le message 'taille de BSON doc est x octets, max est 0'"

Uncaught exception 'MongoException' with message 'size of BSON doc is 210 bytes, max is 0' 

le code actuel est

$mongo = new Mongo(); 
$mongo->newdb->drop(); 
$db = $mongo->newdb; 
$collection = $db->newcollection; 
$collection->insert(array ("_id" => new MongoId("4ec1019f87484465ae4d777e"), "id" => 1)); 

Il y a presque pas d'info sur cette erreur en ligne, et près de toute ma configuration Vagrant est ce qui dit en ligne pour travailler. Quelqu'un avec une idée de pourquoi cela échoue?

+0

Je ne me demande pas pourquoi MongoId est défini explicitement dans cet insert, mais ses octets 4-6 (qui sont, par [doc] (http://php.net/manual/fr/class.mongoid .php), un hachage du nom d'hôte de la machine du client) sont en quelque sorte rendus invalides avec l'installation de Vagrant? L'insertion fonctionne-t-elle sans '_id'? – raina77ow

+0

@ raina77ow, juste changé en $ collection-> insert (array ("asdf" => 1)); et cela n'a pas fonctionné non plus, merci pour l'effort/réponse si :) – seaders

+0

Ok, mais fait interroger ce 'newcollection' vide fonctionne? – raina77ow

Répondre

0

Désolé à ce sujet, il s'agissait d'une très ancienne version de Mongo j'avais installé, quelque chose comme 1.4, en raison d'une mauvaise configuration Vagrant. Une fois que j'ai trié cela et installé le plus récent (version shell de MongoDB: 2.0.7), tout a fonctionné comme un charme. Merci pour l'aide en tout cas.

+0

Je reçois toujours cette erreur, j'ai mis à jour la version à la plus récente, et il n'a pas résolu le problème, tout le monde peut le conseiller? –

Questions connexes