mongodb中存儲的結構可以是數組類型,但是如果數組太大,有時候沒有必要把整個文檔全部傳回。這時需要傳回我們所需的資料即可。用到了數組的$,$elemMatch 的操作。如下。
資料結構如下: 資料結構表示商品的價格曆史記錄,這裡有兩個時間點,我們隻希望傳回6月20号之後的價格記錄。 整個文檔資料:
{
"_id" : NumberLong(30665),
"priceNodes" : [
{
"priceTime" : ISODate("2016-06-17T09:21:49.000Z"),
"priceTimeL" : NumberLong(1466155309000),
"price" : 578.0
},
{
"priceTime" : ISODate("2016-06-29T02:51:05.000Z"),
"priceTimeL" : NumberLong(1467168665000),
"price" : 578.0
}
]
}
查詢結果要求:
{
"_id" : NumberLong(30665),
"priceNodes" : [
{
"priceTime" : ISODate("2016-06-29T02:51:05.000Z"),
"priceTimeL" : NumberLong(1467168665000),
"price" : 578.0
}
]
}
mongodb查詢:
db.getCollection('SkuHistoryPrice')
.find({"_id":30665, "priceNodes":{"$elemMatch":{"priceTimeL":{"$gte":1466352000000}}}}, {"priceNodes.$":1})
spring-data-mongodb查詢: --未完待續--
版權聲明:本文為CSDN部落客「weixin_34360651」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/weixin_34360651/article/details/91887902