如何使用java驱动程序或morphia获取mongodb中保存的模型的ID?

时间:2011-06-26 14:17:19

标签: mongodb morphia

有一个教程

http://code.google.com/docreader/#p=morphia&s=morphia&t=QuickStart

但它没有详细说明如何获得酒店的身份。

Morphia morphia = ...;
Datastore ds = morphia.createDatastore("testDB");

String hotelId = ...; // the ID of the hotel we want to load

// and then map it to our Hotel object
Hotel hotel = ds.get(Hotel.class, hotelId);

我认为它是mongo或morphia API的java驱动程序。 那么如何获得id?

1 个答案:

答案 0 :(得分:1)

这与您使用RDBMS的方式没有什么不同。

假设您正在建造一个旅游网站。现在您拥有一个数据库,该数据库已经拥有与其所属城市相关联的酒店。

现在我作为一个用户进来并请求显示所有酒店,在纽约,然后你会去数据库并查询在纽约的所有酒店,然后从你的应用程序发回一个列表,可能会渲染到页面中,然后将结果显示给用户。这个结果页面至少会有数据库中的id和酒店名称。现在,一旦用户想要查看更多详细信息,比如华尔道夫酒店,他们会点击它,我将为该酒店将其传递回您的应用程序。现在,您拥有的代码示例可用于加载Nd酒店的所有详细信息,然后将其显示给用户。

有意义吗?

总而言之,我想要加载的记录通常来自用户输入,您可以在其中加载Ida列表,然后用户可以选择一个或多个。要获取Ida列表,通常可以通过一些参数查询,在上述情况下,按城市名称查询。

现在,为了继续使用上面的示例,您可以将id硬编码到db中已有的值并完成代码。

另一种选择,您可以创建酒店对象的新实例,然后像文档说的那样发出ave命令,然后一旦执行此操作,如果您将属性映射为ID,则可以执行此操作属性,然后将其传递给我的笔记,然后执行读取查询。