我有一个相当于:
[
{
"_id": ObjectId("5a934e000102030405000000"),
"sides": {
"0": {
"dist": 100
},
"1": {
"dist": 10
}
}
},
{
"_id": ObjectId("5a934e000102030405000001"),
"sides": {
"0": {
"dist": 100
}
}
}
]
我希望执行一个查询,返回任何文档,这些文档对于嵌套在sides
中的任何键都具有具有特定值的键dist
。类似于:
db.collection.find({"sides.*.dist": 10})
[
{
"_id": ObjectId("5a934e000102030405000000"),
"sides": {
"0": {
"dist": 100
},
"1": {
"dist": 10
}
}
}
]
db.collection.find({"sides.*.dist": 100})
将检索两个文件。
如果sides
字段是一个数组,下面的歌舞将不是neccessary...
db.collection.find(
{
$expr: {
$gt: [{
$size: {
$filter: {
input: { $objectToArray: "$sides" },
as: "x",
cond: { $eq: ["$$x.v.dist", 10] }
}
}
}, 0]
}
})
我有一个集合,其中包含具有以下结构的文档: 我想在1个查询中获取存在或等于的所有文档。即与列表中的键匹配的文档。 在MongoDB中有没有办法做到这一点?
所以我对大约500k文档有以下查询,它在数据库端非常慢: 我知道allowDiskUse使它变慢,但如果禁用它,我会得到: MongoError:超过$group的内存限制,但不允许外部排序。通过允许磁盘使用:真来选择加入。
问题内容: 我可以使用简单的通配符查询,如下所示: 但是,如果我想在字段中使用通配符,那又如何呢?应该如何看待有效查询: 问题答案: 您可以使用query_string,它允许使用字段名通配符和查询文本通配符。 这些线周围的东西:
我在MongoDB集合中有一个Json文档,我希望根据_id查询它。
在我的NestJS项目中,我有这个TypeORM查询: 现在我只想返回名称中包含的用户。在SQL中,这将是一个查询。 在https://github.com/typeorm/typeorm/blob/master/docs/find-options.md中,没有关于通配符查询的信息。 如何执行like查询类型ORM给出了一个解决方案: 但是,我无法使用和,后者在使用而不是时可用。 对于如何使用Ty