2013-06-25 84 views
0

是否有一種簡單的方法推送到MongoDB中的數組,使數組不超過3個項目。如果有3個項目,推送應該丟棄數組中的第一個項目。我正在尋找一種安全的方式來做到這一點。Mongodb推到陣列,但保持陣列最多3項

+0

您正在使用哪個版本的MongoDB? [2.4也許?](http://docs.mongodb.org/manual/release-notes/2.4/#limit-number-of-elements-in-an-array) –

+0

@ muistooshort我正在使用2.2,但我很願意如果必須升級。 – Harry

+0

@ muistooshort現在,我看着它,如果你張貼作爲答案我會接受它。 – Harry

回答

0

@ muistooshort是正確的。

2.4 $ push,$ each和$ slice操作符可以用來創建一個固定長度的數組。

然後,您可以使用$ sort運算符來保持數組排序,並通過$ push刪除「last」項。

文檔here就是一個很好的例子。

0

有一個叫做Capped array的「結構類型」,它是2.4版本的新成員。下面是描述操作的文檔:DOCS