3

我正在使用 MongoDB 构建数据库。我找到了两种在 pymongo 中插入密钥的方法。

r.insert({'id': '1234', 'feats': 'abcd'})

r.insert({'_id': '1234', 'feats': 'abcd'})

MongoDB中的结果如下:

{ "_id" : ObjectId("51c27f8737450f1d517c1ec4"), 
"id" : "1234", 
"feats" : "abcd"}

{ "_id" : "1234"), 
"feats" : "abcd" }

由于对 MongoDB 没有太多经验,我不知道'_id'的用法。我认为现在插入 MongoDB 的第二种方法更简单。会不会在未来引发其他灾难?谢谢。

4

3 回答 3

3

Mongodb 使用 _id 而不是 id 作为其唯一键

如果您选择添加一个名为“id”的字段,它与添加一个名为“name”的字段没有什么不同

您可以创建自己的“_id”字段,但通常最好让 mongodb 生成自己的 ObjectId,而不是创建自己的。见monogo 文档

于 2013-06-20T08:18:14.320 回答
2

您也可以将其视为 SQL SERVER 中的(类似)标识列,它将成为主键。但是您也可以拥有自己的密钥。例如,如果您正在创建一个用户集合,其中用户 ID 将是电子邮件 ID,并且需要是唯一的,您可以将电子邮件作为 _id,我们不需要为 _id 列创建任何单独的索引

于 2013-06-20T10:18:13.863 回答
0

_id基本上是主键,默认情况下由 填充OjbectId,但是可以更改以存储任何值;请记住,它对于更新是不可变的,基本上一旦设置它就无法更改。

于 2013-06-20T09:39:50.300 回答