我的数据结构是这样的。
{
"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中查询?请帮忙
答案 0 :(得分:1)
在MongoDB shell上,您可以轻松完成:
db.collection.find( { 'Item.DirNumber.@value' : "10713024" } );
但我会建议你不使用@
作为字段名称的一部分。
答案 1 :(得分:0)
假设ItemDO是你的POJO,
public interface ItemRepository extends PagingAndSortingRepository<ItemDO, Serializable> {
@Query("{DirNumber.@value:?0}")
List<ItemDO> findByDirNumber(String value);
}
我在你的json中看不到_id字段。如果您的数据格式不正确,此方法将无效。