Wie kann ich das ändern _id Feld in MongoDB Sammlung User_id?
Ich bin neuer Benutzer für die MongoDB Datenbank. In MongoDb was auch immer einfügen in eine collection defaultly ein Feld eingefügt, das _id Feld.
Beispiel:
db.users.insert({"User_id":"1","User_Name":"xxx","Address":"yyyy"})
db.users.find()
Es zeigt
{ "_id" : ObjectId("528475fc326b403f580d2eba"), "User_id" : "1", "User_Name" : "xxx",Address" : "yyyy" }
Brauche ich nicht _id Feld, und ich will zu ersetzen, das _id Feld User_id mit auto-Inkrement-Werte.
Ist es möglich. Bitte helfen Sie mir. Vielen Dank im Voraus.
- Wenn Sie fanden die Antwort hilfreich ist, können Sie upvote/akzeptieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
_id
Feld ist wirklich Besondere in mongodb. Das ist Ihre primäre Schlüssel gibt und es gibt keine Weise können Sie ein Dokument, ohne es. Auch wenn Sie versuchen, fügen Sie das Dokument, ohne es, mongo erstellen wird es für Sie (wie in deinem Beispiel). Darüber hinaus können Sie auch nicht ändern_id
Bereich für Sie Sammlung.Aber Sie können erstellen Sie ein Dokument mit Ihrem eigenen _id. Also, wenn Sie möchten, können Sie tun
db.users.insert({"_id":"1","User_Name":"xxx","Address":"yyyy"}) \\why exactly 1 is a string?
und denken Sie daran, dass
_id
bedeutetuser_id
und auch im Hinterkopf behalten, dass diese_id
sollte eindeutig seinBeachten Sie, dass mongodb ist nicht wie sql. Es muss nicht Autoinkrement-Schlüssel (damit meine ich, dass es ist nicht, dass die Macher nicht wissen, wie es zu tun, sondern nur, dass Sie lassen ziemlich viel ohne Sie), aber Sie können erreichen, etwas schaffen, das würde ähneln das gleiche Verhalten.
Als für als die ich kann verstehen, Ihr problem ist, dass Sie verwenden möchten Ihre mongoDB internen _id, wie Sie Ihr benutzerdefiniertes Attribut. Für das Beispiel nehmen wir an, die db enthalten die Identität des Benutzers und mit Attributen wie "_id , name , Adresse, ..." und Sie möchten das _id-Wert in Ihrer Anwendung als userId für externe Referenz.
So wie @SalvadorDali Sprach _id-Feld ist wirklich wichtig in der mongoDB und man kann nicht ein Dokument haben, ohne es. Alles, was Sie tun können, ist lassen Sie die db speichern Sie den Wert durch die Standardeinstellung _id aber Sie können den Zugriff von außerhalb verwenden Sie Ihre eigenen User_id durch die Anwendung dieser beiden änderungen in Ihrer json-Datei.
nun speichern Sie einen eindeutigen Wert, es ist gespeichert in der db-mit Standard-_id und außerhalb Sie können diesen Wert in der userId-Feld.
Korrigieren Sie mich, wenn ich Ihre Frage falsch.