_id&的区别$ oid; $ date& mongo数据库中的IsoDate

时间:2012-09-26 10:38:04

标签: java mongodb morphia

我们正在使用mongo db在生产数据库中存储某些记录。

我们在生产数据库中看到我们的记录有"_id" : { "$oid" : "50585fbcb046b2709a534502"},而我们在qa数据库中看到的记录与"_id" : ObjectId(" 50585fbcb046b2709a534502 ")相同。 对于日期,我们在prod数据库中看到"ld" : { "$date" : "2011-12-03T17:00:00Z"},而在qa数据库中看到"ld" :ISODate("2011-12-03T17:00:00Z")。 我们已经在qa环境中成功测试了我们的查询,但担心它可能会在生产中失败

1)我的java查询是否可以在prod&上无缝地工作两个都? (我使用morphia apis来查询) 2)它们内部是否以相同的方式存储?

1 个答案:

答案 0 :(得分:17)

回答这两个问题:

  1. 是的,他们会
  2. 是的,它们是相同的,它只是您正在查看的项目(控制台或应用程序)中的显示方式。控制台(无论如何,大约1.4以上的版本)将显示ObjectIdISODate(通常),而直接从服务器语言(在您的情况下为Java)中选择它将倾向于显示完整的对象属性(在这种情况下,$oid$date