查找一个mongodb文档,该文档的字段值与输入数组的某项匹配

JoãoGabriel Araujo:

我有一个字符串列表,其中包含给定星期几的日期。

String daysweek[] = ["10/05/2020", "11/05/2020", "12/05/2020", "13/05/2020", "14/05/2020", "15/05/2020", "16/05/2020" ]

我的目标是能够找到属于某个星期的多个文档。比较字段是“第一天”。

遵循数据库中文档结构的图像:

在此处输入图片说明

 Document insert = new Document().append("$elemMatch", daysweek[]);
       Document filterstar = new Document().append("id_motorista", idmotorista).append("pagamento", false).append("firstday", insert);

        coll.find(filterstar).projection(new Document().append("_id", 1).append("origem",1).append("destino", 1).append("formadepagamento", 1).append("valordaviagem",1)
                .append("notamotorista",1).append("pagamento",1).append("iniciodaviagem", 1).append("fimdaviagem",1).append("viagemcancelada", 1).append("horadaaceitacao",1)
                .append("horacancelamentomotorista", 1).append("horacancelamentousuario", 1).append("taxadecancelamento", 1).append("valordaviagemmotorista", 1).append("valordaviagemusuario", 1).append("id_acompanhamento",1)
                .append("taxaaplicativo", 1).append("taxacartao", 1).append("taxamotorista", 1)).sort(new Document().append("firstday", 1)).limit(100)
                .into(docs).addOnSuccessListener(new OnSuccessListener<List<Document>>() {
            @Override
            public void onSuccess(List<Document> documents) {}

但是搜索没有找到文件。预期的查询数量为35。

我想知道是否有任何方法可以通过给定的文档字段查找文档,匹配arraylist中的任何项目。

我是谁 :

$ elemMatch用于查询数组字段,但是在您的方案中,查询字符串字段并且输入是数组,则可以只使用$ in运算符。

Mongo Shell语法:

db.collection.find({firstday : {$in : ["10/05/2020", "11/05/2020", "12/05/2020", "13/05/2020", "14/05/2020", "15/05/2020", "16/05/2020"]}})

测试: mongoplayground

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

mgo,mongodb:查找一个嵌入式文档,该文档是数组的一部分

mgo,mongodb:从嵌入式结构中查找与一个字段匹配的文档

在一个字段中按数组查找mongodb中的文档?

MongoDB $查找一个文档的对象数组

(MongoDB)向文档中添加一个新字段,其值为其嵌套子文档数组的总和

MongoDB查找匹配的文档并更新对象数组内的匹配字段

一个文档字段的总和mongodb

如何查找一个字段的值与另一个字段的值匹配的所有文档

将一个文档添加到集合中,该文档是MongoDB中一个字段的累积

使用Mongoose查找具有不同值的文档数组中的最后一个文档

如何在MongoDb中查找与数组中的字段和子文档字段匹配的文档

mongodb-从许多文档到一个数组字段的concat数组字段

在Mongoose中,如何找到与给定查询值匹配的数组字段的最后一个元素的所有文档?

查找来自一个字段的值不为null且不在另一个字段中的MongoDB文档

按与过滤器匹配的数组的最后一个元素中的值对文档进行排序。Mongodb

使用聚合将文档的一个字段与同一文档的数组大小进行匹配

如何从MongoDB中的子文档数组中仅返回一个匹配的子文档(而不是数组)?

mongodb - 查找匹配查询的第一个子文档

如果MongoDB和Mongoose存在另一个匹配的文档,请添加字段

MongoDB按对象ID在数组中查找一个文档

如何在 MongoDB 中查找包含一个或多个搜索数组元素的文档?

从流星中的Mongodb文档返回一个字段(数组)的内容

从MongoDB中的所有文档中获取数组字段的第一个元素的总和

如何在MongoDB更新中将字段的值推入同一文档的另一个数组字段中

Mongo DB 4.2:将数组项目的字段替换为匹配文档的另一个字段的值

我将如何更新MongoDB中一个总计子文档值的字段?

mongoDB $ set问题,使用文档的键值/另一个字段值

查找在数组中包含特定值但不是最后一个元素的文档

在MongoDB的一个文档中的两个数组中获取唯一值