【问题标题】:Access MongoDB from Java [closed]从 Java 访问 MongoDB [关闭]
【发布时间】:2013-04-16 20:52:03
【问题描述】:

我正在试用 MongoDB,我想知道将数据从 MongoDB 映射到 Java 的最佳方式是什么。

我的用例是我试图存储 100.000 多个文档(比如电影+演员信息),并且我想存储文本和图像数据(小图像,大约 100kb-300kb)

  • 我试过 Morphia,但它似乎已经死了。
  • 有一个 Morphia 的分支,但我找不到任何相关经验
  • 我可以手动进行任何数据映射,但这似乎需要做很多工作,而且我“害怕”我会再次使用 Morphia 之类的东西来让自己更轻松
  • 我现在还有 MongoDB 的 Spring Data,但我还没有检查出来。

前进的最佳方式是什么?我有以下问题:

  • 我应该选择 ORM,还是应该自己进行映射?电影似乎很有条理,所以我不明白为什么不使用 ORM。
  • 如果我选择 ORM,选择 Spring Data 而不是 Morphia 有什么好处(除了最近几个月似乎没有 Morphia 的发布),或者有什么我没有想到的解决方案?李>
  • 并且有可能再次提出一个过于宽泛的问题:在存储/检索数据时我还需要考虑其他任何事情吗?例如,考虑到我想同时搜索两者,我是否应该为 Movie 和 Actor 创建一个集合?还是应该将 Actor 和 Movie 关系合并到一个文档中?

【问题讨论】:

    标签: java mongodb


    【解决方案1】:

    试试SpringData MongoDB - 这是迄今为止将 POJO 映射到文档的最简单方法。你能给我一些关于你的设置(IDE、构建工具等)的信息,我可以给你举个例子吗?

    我只是整理了一个简单的例子并发布了here on GitHub。看看

    【讨论】:

    • 嗨,大卫,感谢您的回复。我正在使用 MacOS、IntelliJ、Gradle、最新的 MongoDB。
    • @ErikPragt 我没有太多使用 IntelliJ 和 Gradle 的经验,但我刚刚发布了一个使用 Maven 构建的简单演示。您应该能够将其导入 IntelliJ 并查看它是如何工作的
    • 哇,太好了,谢谢!如果我能两次接受你的回答,我会接受的!
    • 顺便说一句,也可以像这样存储 bytes[] 吗? (我猜这是存储数据所需的数据类型?)
    • 哈,谢谢。很高兴我能帮上忙 :) 好问题;如果字节会很好玩,我不肯定,但你总是可以在进/出的路上对数据进行编码(也许是base64?) - 但诚然,这有点hacky。如果您需要 FS-ish 支持,我会使用他们的 GridFS 支持。见static.springsource.org/spring-data/mongodb/docs/current/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 2015-01-10
    • 2012-10-17
    • 1970-01-01
    相关资源
    最近更新 更多