【问题标题】:How to store reference to other collection in MongoDb [duplicate]如何在MongoDb中存储对其他集合的引用[重复]
【发布时间】:2015-01-18 20:35:25
【问题描述】:

我需要存储对其他集合的引用,但我无法决定是将其存储为字符串还是 ObjectId()。我认为有可能以两种方式进行(在 mongo shell 中):

作为 ObjectId

db.books.findOne({_id:ObjectId("54bc1287c582714e9f062591")});
{
    "_id" : ObjectId("54bc1287c582714e9f062591"),
    "title" : "Book title",
    "author_id" : ObjectId("54bc12da5f5e8854718b4568")
}

作为字符串

db.books.findOne({_id:ObjectId("54bc1287c582714e9f062591")});
{
    "_id" : ObjectId("54bc1287c582714e9f062591"),
    "title" : "Book title",
    "author_id" : "54bc12da5f5e8854718b4568"
}

我不会通过author_id 搜索,所以我不需要任何索引。我会拿一本书,然后会通过author_id 找一位作者。顺便说一下,这只是books的一个例子

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    主要区别在于 ObjectId 将占用 12 个字节空间 (http://docs.mongodb.org/manual/reference/object-id/),而字符串表示占用 24 个字节。因此,使用 ObjectId 将为您节省一半的空间。

    【讨论】:

      猜你喜欢
      • 2018-05-05
      • 2015-03-10
      • 2021-09-16
      • 2015-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      相关资源
      最近更新 更多