【问题标题】:mongodb multiple find by multiple conditions and one result nodejsmongodb通过多个条件和一个结果nodejs多次查找
【发布时间】:2021-07-20 15:37:17
【问题描述】:

我有一个用户交易的集合。我想使用三个用户 id 的查询来获取每个用户的最后一笔交易。而且我不想使用循环对每个用户进行查询。 我用这个:

const items = await db
      .collection("transactions")
      .find({ user: users[1] , user: users[2], user: users[3] })
      .limit(3)
      .sort({ $natural: -1 })
      .toArray();

但它不包含每个条件的一个结果,因为我知道我做错了。 我用:

const MongoClient = require("mongodb").MongoClient;

我该怎么做? 谢谢。

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    您可能需要使用$group$last 进行聚合。

    https://docs.mongodb.com/manual/reference/operator/aggregation/group/#examples

    db.collection("transactions").aggregate( [
      {
        $group: {
           _id: user,
           txnId: { $last: "$_id" }
        }
      }
    ] ).toArray();
    

    这个答案也可能对您有所帮助:https://stackoverflow.com/a/32134655/1742298

    【讨论】:

      猜你喜欢
      • 2016-12-26
      • 2014-06-27
      • 2021-07-23
      • 2011-12-30
      • 2012-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多