从MongoDB获取文档

时间:2013-07-30 09:01:36

标签: mongodb

我的数据结构是这样的。

{
"Item" : {
    "CreateTimestamp" : {
        "@value" : "2012-12-31 01:48:24"
    },
    "EventList" : {
        "Event" : [ {
            "@eventId" : "5",
            "@eventName" : "Bullets"
        }, {
            "@eventId" : "33",
            "@eventName" : "ItemMaster"
        }]
    },
    "DirNumber" : {
        "@value" : "10713024"
    },
    "MNumber" : {
        "@value" : "10713024"
    }
}}}

我想仅使用'DirNumber'来获取数据。我想在java中查询?请帮忙

2 个答案:

答案 0 :(得分:1)

在MongoDB shell上,您可以轻松完成:

db.collection.find( { 'Item.DirNumber.@value' : "10713024" } );

但我会建议你使用@作为字段名称的一部分。

如果您在http://docs.mongodb.org/ecosystem/tutorial/getting-started-with-java-driver/#getting-a-set-of-documents-with-a-query

阅读文档,那么用Java编写相同的查询应该很容易

答案 1 :(得分:0)

假设ItemDO是你的POJO,

public interface ItemRepository extends PagingAndSortingRepository<ItemDO, Serializable> {
  @Query("{DirNumber.@value:?0}")
  List<ItemDO> findByDirNumber(String value);
}

我在你的json中看不到_id字段。如果您的数据格式不正确,此方法将无效。