2017-01-28 8 views
0

Mein Projekt wurde auf GMONGO-Framework erstellt und alle Domänen wurden mit Attribut-ID als String erstellt. So Gral Frame-Arbeit erstellt mongodb Sammlungen mit _id-Attribut, wenn Anwendung App ist. In UI gab es eine Beschränkung auf retrive _id.So im Dienst "_id" ist umgeschrieben auf "id", um das Problem zu überwinden. Können wir Sammlungen mit "id" anstatt mit "_id" erstellen?So erstellen Sie Mongodb-Sammlung ohne _id

Antwort

1

Nein du kannst nicht. Mongo erstellt automatisch _id, wenn Sie keine angeben.

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

In Ihrem Fall können Sie index-id Feld hinzufügen, und wenn Abfragen ausführen nur Projektion hinzufügen _id auszuschließen.

So werden Sie so etwas wie dies in Daten

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

Und laufen Abfrage wie diese

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

haben Sie dies als Ergebnis erhalten wird

{id: yourId, ...}

Hoffe das hilft.

+0

_id wird erstellt, wenn Sie keine ID in Domäne definieren, aber ich definiere ID-Attribut in meiner Domäne, obwohl Mongo _id statt ID erstellt. Meine Anforderung ist, ein Gson-Objekt mit Schlüssel zu erhalten ist ID nicht _id – Raj

+0

Gibt es eine Möglichkeit, Id statt _id zu erstellen? – Raj

+0

Ich antworte, dass Sie nicht können. So funktioniert Mongo. Sie können eine andere DB wählen, oder kümmern Sie sich einfach nicht um _id im System. Hoffe das hilft. –

Verwandte Themen