例如,如果我想将Username作为我的mongo文档的唯一ID而不是默认的“_id”,该怎么办?
我想使用mongo.exe控制台实现此目的。
答案 0 :(得分:17)
MongoDB要求_id属性作为自动索引的唯一主键。
您有两种选择:
答案 1 :(得分:2)
_id
在复制中很重要。您可以创建没有_id
索引的集合,但将永远无法复制数据库。复制需要每个集合上的_id
索引。
答案 2 :(得分:0)
我知道,有可能像{username:“John”,年龄:12}这样的记录。我的意思是,没有_id。这该怎么做?
我不确定@Serges的答案是不是很清楚,但重新迭代,没有办法。从技术上讲,你仍然可以在某些版本的MongoDB中的带帽集合中取出_id,但除此之外你不能。
另外我担心你使用用户名,它可能不是分片等活动的最佳选择,并且可以在群集等上创建高活跃度的“热点”,这一切都是理论上的,因为我不在你的位置但是,您的数据最好考虑这些内容。