如何在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' .

相关文章