如何在mongoDB默认键列表中添加类似于键'_id'的键?
Posted
技术标签:
【中文标题】如何在mongoDB默认键列表中添加类似于键\'_id\'的键?【英文标题】:How to add a key similar to key '_id' in the mongoDB default key list?如何在mongoDB默认键列表中添加类似于键'_id'的键? 【发布时间】:2021-11-09 12:12:27 【问题描述】:在 mongoDB 中,每当我们尝试插入任何文档时,mongoDB 都会附加一个称为 ObjectId 的键“_id”。我正在寻找类似的东西并试图复制这个场景。 在我的例子中,我正在尝试创建一个作为“哈希”的键,其值可以根据与文档值相关的一些计算来生成。
假设我使用 db 作为东西
> use stuff
插入文档
> db.products.insert( item: "card", qty: 15 )
所以通常mongoDB会添加ObjectId并将其存储为
"_id" : ObjectId("5063114bd386d8fadbd6b004"), "item" : "card", "qty" : 15
但我正在尝试将文档存储为类似的东西
"_id" : ObjectId("5063114bd386d8fadbd6b004"), "hash" : “51e0373c6f35bd826f47e9a1”,“项目”:“卡”,“数量”:15
有没有办法在 mongoDB 默认键列表中添加自定义键或任何其他方式来实现上述场景,而无需将其与文档一起显式插入。
【问题讨论】:
【参考方案1】:_id
字段实际上是在客户端的驱动代码中创建并随文档一起提交的。
所以你当然可以添加一个客户端中间件函数来添加你喜欢的任何字段。
【讨论】:
以上是关于如何在mongoDB默认键列表中添加类似于键'_id'的键?的主要内容,如果未能解决你的问题,请参考以下文章
如何制作点“。”和下划线 '_' 的行为类似于 MongoDB 中 $text 索引中的空格