该字段的数据类型为字符串。我想在mongoDB中找到一个字段的最长和最短值的长度。

我的收藏夹中总共有500000个文档。

最佳答案

您可以使用mongo shell脚本。请注意,它将执行全表扫描。

    function findMinMax() {
        var max = 0;
        var min = db.collection.findOne().fieldName.length;

        db.collection.find().forEach(function(doc) {
            var currentLength = doc.fieldName.length;
            if (currentLength > max) {
               max = currentLength;
            }
            if (currentLength < min) {
               min = currentLength;
            }
        });

         print(max);
         print(min);
    }

   use <databaseName>
   findMinMax();

您可以将函数保存在c:\minMax.js文件中,然后以以下方式运行该文件:
c:\mongodb\bin> mongo dbName < c:\minMax.js

注意:您可能需要提供必要的主机名,用户名,密码才能连接到数据库。
c:\mongodb\bin> mongo --host hostName --port portNumber -u userName -p password dbName < c:\minMax.js

关于javascript - 如何在mongoDb中查找字段值的最长和最短长度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26395422/

10-12 15:26