我是mongodb的新手.

  1. 我需要插入一个没有自动生成_id字段的文档.

  2. 我需要将字段Tenant_id设置为唯一,或者需要将"_id"字段更改为Tenant_id.

怎么做?

像这样的

     Tenant
        {Tenant_id: 123, Tenant_info: ...}

推荐答案

默认情况下,如果没有_id字段,所有常规集合都会自动插入该字段.

但是,在创建集合时,可以通过将autoIndexId参数显式设置为false来更改此行为.

> db.createCollection("noautoid", { autoIndexId: false })
{ "ok" : 1 }

然后可以插入没有_id字段的文档.但是一些驱动程序,比如javascript one(以及mongo控制台),会自行添加_id字段.在mongo控制台中,您可以执行以下操作:

> db.noautoid._mongo.insert(db.noautoid._fullName, {name: "Jack"})
> db.noautoid.find()
{ "name" : "Jack" }

有关autoIndexId字段的更多信息,请参阅MongoDB documentation.本页是关于封顶集合的,但autoIndexId字段对于常规集合和封顶集合都是通用的.

Mongodb相关问答推荐

Next js、MongoDB和Prisma.包括不为相关字段工作

MongoDB 对特定搜索查询的响应时间较长

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

Mongo 聚合将 $sort 与 $geoNear 结合使用

MongoDB 存储大量指标/分析数据的方法

TypeError:Cannot read property '_id' of undefined

mongodb:多键索引 struct ?

使用 mgo 存储嵌套 struct

在 Mongoid 中,Date、Time、DateTime 和 TimeWithZone 字段类型有什么区别吗?

NodeJS中的密码重置

`fields cannot be identical'和''` mongoimport错误

try 解析序列化 JSON 字符串时处理 MongoDB 的 ISODate()

RoR3 上的 Mongoid:1)如何在查询中返回特定字段? 2)需要什么 inverse_of ?

在 mongoDB 中展平嵌套的 JSON struct

RoboMongo:不显示所有文档

如何使用 mongoose 连接到 mongoDB Atlas

MongoDB 用 $type 匹配一个数组?

MongoDB 的 MMAPV1、WiredTiger 或 In-Memory StorageEngine 如何 Select ?

我可以使用字符串作为 mongodb 文档的 ID 类型吗?

findOneAndUpdate 中的文档未更新