如何在mongodb中找到数组的最后一项?
我想查找数组中最后一个元素等于某个值的文档.可以通过特定的数组位置访问数组元素:
I want to find documents where last elements in an array equals to some value. Array elements may be accessed by specific array position:
// i.e. comments[0].by == "Abe"
db.example.find( { "comments.0.by" : "Abe" } )
但是我如何使用最后一项作为条件进行搜索?即
but how do i search using the last item as criteria? i.e.
db.example.find( { "comments.last.by" : "Abe" } )
顺便说一下,我正在使用 php
By the way, i'm using php
推荐答案
我只是在做:
db.products.find({'statusHistory.status':'AVAILABLE'},{'statusHistory': {$slice: -1}})
这让我获得 products
,其中数组中最后一个 statusHistory
项包含属性 status='AVAILABLE'
.
This gets me products
for which the last statusHistory
item in the array, contains the property status='AVAILABLE'
.
相关文章