gpt4 book ai didi

mongodb - 给定 ID,查找 dueAt 小于 ID.dueAt 的条目

转载 作者:可可西里 更新时间:2023-11-01 10:37:06 25 4
gpt4 key购买 nike

我正在尝试编写一个查询。我有一个 Event 集合。每个事件都有一个 dueAt 字段,它是一个数字。给定一个事件的 id,我想找到所有 dueAt 小于给定 id 事件的 dueAt 的事件。

这是我的意思的例子,我的收藏有这个伪代码:

id: 1,
dueAt: 100

id: 2,
dueAt: 101

id: 3,
dueAt: 102

然后我只有“3”的 id 我想做这样的查询:

eventCollection.find({
{ dueAt: { '<': 'dueAtOfId(3)' }}
});

这项技术有名称吗?有人知道他们在 MySQL 中怎么调用它吗?

我可以在两个查询中轻松做到这一点,但我想避免学习,伪代码:

const events = await eventCollection.find({ _id: 3 });
const maxDueAt = events[0].dueAt;
const result = await eventCollection.find({ dueAt: { '<': maxDueAt } });

最佳答案

你可以用下面的单个查询来完成

const result = await eventCollection.aggregate([
{ "$match": { "_id": 3 }},
{ "$lookup": {
"from": "eventCollection",
"let": { "dueAt": "$dueAt" },
"pipeline": [
{ "$match": { "$expr": { "$gte": ["$dueAt", "$$dueAt"] }}}
],
"as": "result"
}},
{ "$unwind": "$result" },
{ "$replaceRoot": { "newRoot": "$result" }}
])

关于mongodb - 给定 ID,查找 dueAt 小于 ID.dueAt 的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54888958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com