2011-09-28 6 views
1

J'utilise NodeJS, MongooseJS avec Mongodb. Il jette l'erreur suivante lorsque je tente d'insérer un enregistrement dans MongoDB en utilisant mongooseJSNodeJS et Mongoose avec Mongodb sharding issue

"MongoError: right object doesn't have full shard key" 

Pour votre information: MongoDB table ayant tesson clé

S'il vous plaît me dire comment résoudre ce problème! et qu'est-ce que cette erreur signifie?

+1

Est-ce que vous insérez un objet qui fait partie de votre clé de partition? Il semble que vous essayez d'insérer sans une clé qui est également une clé de partition. – EhevuTov

Répondre

0

Lorsque vous insérez un objet dans la collection Mongo qui a une clé de partition, l'objet doit avoir toutes les clés de partition (c'est-à-dire la clé de partition complète).

Comme dit le doc de MongoDB:

Toutes les mises à jour (non multi), upserts et insère doit inclure la clé de tesson actuelle «

courant tesson dans le sens tout. Clé de partition qui est actuellement applicable

0

Mongoose 2.5.3 prend en charge le sharding, il suffit d'inclure la clé shardkey dans les options du schéma et Mongoose fait le reste

var LoginSchema = new Schema({attribut: String}, 
          { shardkey: { at: 1, _user: 1 }} 
          )