【问题标题】:mongodb bulk records exists validation in spring datamongodb批量记录在spring数据中存在验证
【发布时间】:2014-10-03 05:44:09
【问题描述】:

给定一个 mongo 文档 UUID 的列表,我想验证这些 ID 在数据库中是否有相应的文档。执行批量验证的有效方法是什么? 假设我的程序有 100 个 id 字符串,并且想在一次 DB 调用中验证所有这些 ID。可行吗? 我可以按顺序执行(即在 spring 数据存储库中使用 exists(T id) 方法),但我宁愿一次调用。

我的程序使用 mongodb 的 spring 数据。但我对任何本机 mongo 命令持开放态度。我可以为它在 spring 数据中编写查询代码。此外,如果列表中的任何 ID 在 DB 中没有文档,我希望得到这样的 ID 作为响应。

【问题讨论】:

    标签: mongodb spring-data-mongodb


    【解决方案1】:

    我不知道 spring-data,但您可以使用 $in 运算符并执行 find({ _id : { $in : [ your, ids, here ] } }) 之类的操作,然后从那里开始工作。如果您需要一个简单的是/否来表示所有现有的,您可以检查结果集的长度与输入数组的长度。

    【讨论】:

    • 谢谢。这是否也给了我没有匹配文件的 ID 列表?或以任何方式配置它以获取此类列表。
    • 我建议对获取的 _id 与您正在查询的 _id 进行一组减法。我认为不知道如何直接在 mongo 中做你想做的事。如果您只查询 100 个左右的项目,您的应用程序代码应该能够轻松完成差异。
    猜你喜欢
    • 2020-11-08
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 2011-12-14
    相关资源
    最近更新 更多