需要有关如何将MongoDB字段中的值存储到变量中的帮助

时间:2018-12-02 05:44:30

标签: node.js mongodb

我想获得数据库中数组的大小,以便可以遍历它,因此我在数据库中创建了一个名为Size的字段。我想将此字段的值存储在变量中,所以我知道需要遍历数组多少次。我可以打印出整个文档,但是我无法选择“大小”值。

这是我的数据库文档:

_id:ObjectId("5c02492d1c9d440000498a9b")
Names:Array
Size:5

现在,这是我要尝试从size字段中提取数字5的代码。

var cursor = db.collection('Room').find('Size');
cursor.forEach(function (err, num) {
    if(err) {
        return console.log(err);
    }
    console.log(num);
});

这是console.log(num)打印的内容:

{ _id: 5c02492d1c9d440000498a9b,
  Names:
   [ 'TjAa0wOe5k4',
     'Sz_YPczxzZc',
     'mM5_T-F1Yn4',
     'En6TUJJWwww',
     '5T_CqqjOPDc' ],
  Size: 5 }

有什么想法/帮助吗?

对于任何想知道的人,我都知道了。事实证明,将结果转换为数组,然后调用numArr [0] .Size是可行的。这是任何有好奇心的人的代码:

        var length;
    db.collection('Room').find({'Size': Object}).toArray((err, numArr) => {
            if(err) {
                return console.log(err);
            }
            length = numArr[0].Size
            return length;

    });

1 个答案:

答案 0 :(得分:0)

  

更新

     

OP通过使用.toArray()方法将光标转换为数组,然后引用numArr[0].Size之类的属性来解决该问题。


您可以像这样访问Size属性:

var size = num.Size;

您尝试过这种方式吗?