为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 go mongo-driver 中为 options.FindOne() 设置限制

如何在 go mongo-driver 中为 options.FindOne() 设置限制

Go
慕尼黑8549860 2023-03-07 16:45:12
我看到有一种方法可以SetLimit()用于Find()func,但我没有看到任何设置限制的选项FindOne(),因为我们正在搜索单个结果,所以FindOne()我们甚至不必限制它?它自动处理限制?尝试使用 1options.FindOne()` 设置限制,但我看不到这样做的方法。
查看完整描述

1 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

它没有记录在案,但常识Collection.FindOne()暗示Limit=1. 的返回值Collection.FindOne()不允许访问多个结果文档,这就是为什么options.FindOne甚至没有SetLimit()方法的原因。

如果你检查源代码,它就在那里:

// Unconditionally send a limit to make sure only one document is returned and the cursor is not kept open

// by the server.

findOpts = append(findOpts, options.Find().SetLimit(-1))

请注意,FindOptions.Limit文件说明:

// Limit is the maximum number of documents to return. The default value is 0, which means that all documents matching the

// filter will be returned. A negative limit specifies that the resulting documents should be returned in a single

// batch. The default value is 0.

Limit *int64


查看完整回答
反对 回复 2023-03-07
  • 1 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信