如何将MongoDB集合中的_id字段更改为用户_id?
我是MongoDB数据库的新用户。在MongoDb中,默认情况下,向某个集合中插入一个字段,即_id字段 例如:如何将MongoDB集合中的_id字段更改为用户_id?,mongodb,auto-increment,database,Mongodb,Auto Increment,Database,我是MongoDB数据库的新用户。在MongoDb中,默认情况下,向某个集合中插入一个字段,即_id字段 例如: db.users.insert({"User_id":"1","User_Name":"xxx","Address":"yyyy"}) db.users.find() 它表明 { "_id" : ObjectId("528475fc326b403f580d2eba"), "User_id" : "1", "User_Name" : "xxx",Address" : "yyyy" }
db.users.insert({"User_id":"1","User_Name":"xxx","Address":"yyyy"})
db.users.find()
它表明
{ "_id" : ObjectId("528475fc326b403f580d2eba"), "User_id" : "1", "User_Name" : "xxx",Address" : "yyyy" }
我不需要_id字段,我想用自动增量值替换这个_id字段为User_id。
有可能吗。请帮帮我。提前感谢。
\u id
字段确实在mongodb中。这是您的主键,没有它您就无法拥有文档。即使您尝试在没有文档的情况下插入文档,mongo也会为您创建文档(如您的示例所示)。此外,您甚至不能修改集合的\u id
字段
但是您可以使用自己的_id创建文档。因此,如果需要,您可以执行db.users.insert({“_id”:“1”,“用户名”:“xxx”,“地址”:“yyyy”})\\为什么确切地说1是字符串?
请记住,\u id
意味着用户id
,同时请记住此\u id
应该是唯一的
请记住,mongodb与sql不同。它没有自动递增键(我的意思是,这并不是说创建者不知道如何做,而是说你几乎可以不使用它),但是你可以创建类似的东西。因为我可以理解,你的问题是你想使用你的mongoDB内部id作为你的自定义属性。例如,假设数据库包含用户标识,并具有诸如“\u id,name,address…”之类的属性,并且您希望在应用程序中将此“id”的值用作外部引用的用户标识。 正如@salvadodali所说的,id字段在mongoDB中非常重要,没有它你就不能拥有文档。您所能做的就是让db根据其默认id存储该值,但您可以通过在json文件中应用这两个更改,使用自己的用户id访问外部
"properties": {
"userId":{
"type": "string",
"id":"true",
"index":"true",
"description": "unique id of identity"
}
}
现在您存储任何唯一的值,它将使用default _id存储在数据库中,在外部,您可以在userId字段中拥有该值。
如果我答错了,请纠正我。如果您发现答案有帮助,您可以投票/接受它。不幸的是,有关创建自动递增键的指南链接已断开。
create\u index
功能如何?我可以将\u id
设置为我想要的,但我似乎无法将\u id
更改为学生id
是否真的没有办法做到这一点?这是Mongo数据库的一个缺点