【问题标题】:ObjectId of MongoDB in ecommerce web application电子商务 Web 应用程序中 MongoDB 的 ObjectId
【发布时间】:2013-11-04 17:58:48
【问题描述】:

我想使用 mongoDB为电子商务 Web 应用程序创建一个数据库

我不知道如何为其设置主键,因为它会自动创建唯一的 id,因此我可以将其用作主键 在 mongoDB 终端中

db.department.findOne({dep_name :"clothing"}) { "_id" : ObjectId("5277d82f658d9f107b7ae64e"), "dep_name" : "服装" }

对于部门服装,dep_id 是 ObjectId("5277d82f658d9f107b7ae64e") 并且在创建男性、女性、儿童类别时,dep_id 将保持不变,同时将创建其他对象 ID,充当 cat_id(男性、女性、儿童唯一)。 我不知道如何在 dep_name 是服装的地方获取 dep_id,并为新集合插入 dep_id,该集合将具有 ObjectId(自动创建)、dep_id、cat_name 字段。

除此之外,如果这似乎不是为电子商务 Web 应用程序创建数据库的好主意,那么建议什么是最好的

【问题讨论】:

  • 我没有关注你的问题。您是否可以添加其他任何内容以更清楚地说明您要做什么。
  • @WirePrairie ---Bruce 回答了这个问题,但我想确认它是否是为电子商务 Web 应用程序分配主键的正确方法,或者是否有任何其他更好的方法,那么我会选择它在开发中。
  • 如果没有联接,您将需要专门处理有效地建立所需的关系。

标签: ruby-on-rails-3 mongodb database-design database-schema mongomapper


【解决方案1】:

如果我正确理解您的问题,您是在问如何,因为 例如,在“类别”集合中插入一个文档,该集合包含 包含部门的 _id 的“dep_id”字段,例如 “衣服”?

这是一个使用 mongo shell 的示例:

clothing = db.department.findOne({dep_name: "clothing"})
db.category.insert({dep_id: clothing._id, cat_name: "women"})

这能回答你的问题吗?

布鲁斯

【讨论】:

  • 感谢您的回复。它回答了问题,但我想确认这是为电子商务网络应用程序分配主键的正确方法,或者如果您有任何建议,请分享。我真的很感激.
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-28
  • 1970-01-01
  • 2011-10-13
  • 2016-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多