-2

我的数据结构是这样的。

{
"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查询?请帮忙

4

2 回答 2

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-上的文档,用 Java 编写相同的查询应该很容易带查询的文档

于 2013-07-30T09:25:35.410 回答
0

假设 ItemDO 是你的 POJO,

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

我在您的 json 中没有看到 _id 字段。如果您的数据格式不正确,此方法将不起作用。

于 2013-07-30T11:17:09.437 回答