2017-01-28 5 views
0

Mon projet a été construit sur le framework GMONGO et tous les domaines ont été créés avec l'attribut id en tant que chaîne.So graal frame work créera des collections mongodb avec l'attribut _id lorsque l'application est app. Dans l'interface utilisateur, il y avait une limitation à retid_id.So en service "_id" est réécrire en "id" pour résoudre le problème. Pourrions-nous créer des collections avec "id" par défaut plutôt que "_id"?Comment créer une collection mongodb sans _id

Répondre

1

Non, vous ne pouvez pas. Mongo créera automatiquement _id si vous n'en spécifiez aucun.

https://docs.mongodb.com/v3.2/reference/glossary/

Dans votre cas, vous pouvez ajouter index au champ id, et quand exécuter des requêtes simplement ajouter la projection à exclure _id.

Alors vous aurez quelque chose comme ça dans les données

{_id: mongoDbID, id: yourId, ...}

et exécuter la requête comme ceci

collection.find({id: yourId}).project({_id: 0}).toArray();

Vous obtiendrez ceci comme résultat

{id: yourId, ...}

Espérons que cela aide.

+0

_id sera créé si vous n'êtes pas défini dans le domaine, mais je définis l'attribut id dans mon domaine même si mongo crée _id plutôt que id. Mon exigence est d'obtenir un objet gson avec la clé est id pas _id – Raj

+0

Y at-il un moyen de créer un identifiant plutôt que _id? – Raj

+0

Je réponds que vous ne pouvez pas. C'est ainsi que fonctionne mongo. Vous pouvez choisir une autre base de données, ou simplement ne pas tenir compte de _id dans le système. J'espère que cela t'aides. –