You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Node.js统计MongoDB文档中的键值对数量

统计MongoDB返回文档中的键值对数量

嘿,这个需求其实用JavaScript原生方法就能轻松搞定!MongoDB驱动返回的文档本质上就是普通的JS对象,我们可以直接用Object.keys()来统计它的键值对数量。

具体实现步骤如下:

  • 用Object.keys(doc[0])获取文档对象所有键名组成的数组
  • 调用数组的.length属性,得到的数值就是键值对的总数

修改后的完整代码如下:

app.get("/editMBTI", function editMBTIFunc(req, res) {
  MongoClient.connect(url, function (err, client) {
    assert.equal(null, err);
    console.log("Connected Successfully to the Database server");
    const db = client.db(dbName);
    //getting the whole collection of MBTI sets
    var cursor= db.collection("mbti_testcontent").find();
    cursor.toArray(function (err, doc) {
      assert.equal(err, null);
      console.log(doc[0]);
      // 统计键值对数量的逻辑
      const keyValuePairCount = Object.keys(doc[0]).length;
      console.log(`当前文档的键值对数量是:${keyValuePairCount}`);
      // 也可以根据需求把结果返回给前端,比如:res.send({count: keyValuePairCount})
    });
  });
});

补充小技巧:

如果你的文档里包含MongoDB自动生成的_id字段,而你想排除它只统计自定义的键值对,可以这样调整:

const allKeys = Object.keys(doc[0]);
const customKeyValueCount = allKeys.filter(key => key !== '_id').length;

内容的提问来源于stack exchange,提问作者alfheimrShiven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:41:50