16

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

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

1) 我的 java 查询能否在 prod 和 qa 上无缝运行?(我正在使用 morphia api 进行查询) 2)它们在内部是否以相同的方式存储?

4

1 回答 1

17

要回答这两个问题:

  1. 是他们会
  2. 是的,它们是相同的,它只是您正在查看的项目(控制台或应用程序)中关于它们如何显示的表示。控制台(无论如何,更高版本,大约 1.4+)将显示ObjectId并且ISODate(通常)直接从服务器语言(在您的情况下为 Java)中选择它会倾向于显示完整的对象属性($oid$date这种情况下)。
于 2012-09-26T11:03:01.243 回答