如何在mongodb中返回弹出元素

时间:2012-12-13 00:03:06

标签: mongodb mongomapper

我想从数组中弹出一个项目,然后获取该元素。

mongodb有可能吗?

我没有在

找到这样的信息

http://docs.mongodb.org/manual/reference/operator/pop/

2 个答案:

答案 0 :(得分:3)

这是不可能的。 MongoDB不返回您之前使用正常更新的文档的任何部分,据说它可以返回完整文档,而不仅仅是findAndModifyhttp://docs.mongodb.org/manual/reference/command/findAndModify/)上的弹出元素,然后您可以过滤该元素输出,无论是第一个还是最后一个。

注意:我应该警告,findAndModify基本上就像挑选查询中的每个文档并对其进行操作,这就是它如何能够返回它,因此您可能会看到跨越大数量的查询的性能损失。

答案 1 :(得分:2)

MongoDB操作返回full documents

选项可以是:

  • 使用findAndModify命令,通过处理返回的文档获取阵列程序端的弹出值。 (1个查询)
  • 使用find获取文档,获取要在程序端弹出的值,然后发送update。 (2个查询)