Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将MongoDB集合中的_id字段更改为用户_id?_Mongodb_Auto Increment_Database - Fatal编程技术网

如何将MongoDB集合中的_id字段更改为用户_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" }

我是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" }
我不需要_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数据库的一个缺点