我是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.

推荐答案

_id字段在mongodb中实际上是special.这是你在那里的主键,没有它,你不可能拥有一个文档.即使您试图在没有文档的情况下插入文档,mongo也会为您创建它(如您的示例所示).此外,您甚至不能为集合修改_id字段.

但是你可以用你自己的_id创建一个文档.所以如果你想,你可以做db.users.insert({"_id":"1","User_Name":"xxx","Address":"yyyy"}) \\why exactly 1 is a string?

记住_id意味着user_id,也要记住这_id应该是独一无二的

请记住,mongodb不像sql.它没有自动递增键(我的意思是,这并不是说创作者不知道怎么做,而是说你几乎可以不使用它),但你可以创建类似于the same behaviour的东西.

Mongodb相关问答推荐

在MongoDB中使用explain()和查询时缺少winningPlan''''

$mod只支持数字类型,不支持MongoDb中的array和int

如何填充Mongoose中的嵌套引用

MongoDB 投影按数组中的字符串长度排序

MongoDB 根据最新日期查询多个不同的值

程序可以运行,但我不断收到发送到客户端后无法设置标题,我应该忽略它吗?

PHP 无法加载动态库 (mongo.so)

为什么 MongoDB 配置服务器必须只有一个或三个?

将MongoDB连接到前端?

从命令行创建 MongoDB 用户

嵌套在文档数组中的mongodb展开数组

django 和 mongodb 是否使迁移成为过go ?

.NET 中的 Mongodb 单元测试

是否有适用于 Linux 的 MongoDB GUI 桌面应用程序?

如何确保基于特定字段的数组中的唯一项 - mongoDB?

在 mongodb 中的索引列上查找重复项的快速方法

使用 Jackson 与 Java Mongo DBObject 进行高效 POJO 映射

如何防止MongoDB在查找文档时返回对象ID?

了解 Mongoose 中的关系和外键

为什么 Mongo 提示会使查询运行速度提高 10 倍?