我正在使用Mongoid ruby gem来与MongoDB进行交互,当我尝试从查询中获取某个东西时,它会添加$limit: -1(即负数)当我希望它只是使用时1.我尝试在控制台中执行相同的操作,但它没有更改返回的文档.
负面限制意味着什么特别的东西吗?
在"Mongo Wire Protocol"文档的"OP_QUERY"部分的"numberToReturn"标题下有一个关于负限制的注释.
"如果客户端驱动程序提供'限制'功能(如SQL LIMIT关键字),则由客户端驱动程序确保将不超过指定数量的文档返回给调用应用程序.如果numberToReturn为0,则db将使用默认的返回大小.如果数字为负数,则数据库将返回该数字并关闭游标.无法获取该查询的进一步结果."
有关游标和限制的更多信息,请参阅"查询和游标"文档,特别是现已删除的"批量执行查询"部分.
限制值的符号确定其是"硬限制"还是"软限制"."硬限制"(负号)查询在返回最大数量的文档后关闭游标."软限制"使光标保持打开状态,以防响应无法满足限制指定的文档数量.