在Jongo中,如何通过ID列表从Mongodb中查找多个文档

 吴盛雪佩儒政义 发布于 2023-02-13 17:39

在mongodb中,我可以通过以下查询执行此操作:

find(
    { _id : { $in : [ ObjectId('5275c6721a88939923c3ea54'), ObjectId('5275c6721a88939923c3ea55'), ObjectId('5275c6721a88939923c3ea56'), ObjectId('5275c6721a88939923c3ea57'), ObjectId('5275c6721a88939923c3ea58') ] } }
)

但是我们怎样才能使用Jongo代码呢?

我知道我们可以找到一个文件:

db.getCollection("mongoEg").findOne(Oid.withOid("5194d46bdda2de09c656b64b")).as(MongoTest.class);

但如何通过Jongo在一个查询中获取多个文档?

1 个回答
  • 我看到两个选项来实现多个ID的查找:

    // 1. find with an array of ids
    ObjectId[] ids = {id, id, id};
    collection.find("{_id:{$in:#}}", ids).as(Friend.class);
    
    // 2.find a list of ids
    collection.find("{_id:{$in:[#, #, #]}}", id, id, id).as(Friend.class);
    

    findOne提供了一种方便的方法ObjectId,如果你使用带注释String而不是a ObjectId,那么这个Oid.withOid方法会将你String变成一个ObjectId.

    但是,最后,这种便捷方法输入被转换为常规的字符串化查询.因此,如果方便不符合您的需要,请尝试查询.

    2023-02-13 17:41 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有