我对 mongodb 和 Node js 很陌生,所以如果这很简单,请原谅。所以我有一个架构:
var mongoose = require('mongoose');
var CatSchema = new mongoose.Schema({
cat_name: String,
cat_value: Number
});
module.exports = mongoose.model('Cat', CatSchema);
当我向数据库添加数据时,它看起来像这样:
> db.cats.find()
{ "_id" : ObjectId("..."), "cat_name" : "test1", "__v" : 0, "cat_value" : 55 }
{ "_id" : ObjectId("..."), "cat_name" : "test2", "cat_value" : 24, "__v" : 0 }
{ "_id" : ObjectId("..."), "cat_name" : "test1", "__v" : 0, "cat_value" : 70 }
我想调用数据库并为集合中的每个文档创建一个 cat_names 数组。
最终效果如下:
var cat_names = [test1, test2, test1 ... ]
知道如何做到这一点吗?我尝试使用 foreach
循环,db.collection('cats')
但我就是无法弄清楚。
最佳答案
这对我有用: var cat_names = [];
Cat.find(function(err, data){
if(err){
console.log(err);
}
var stringify = JSON.stringify(data)
content = JSON.parse(stringify);
content.forEach(function(result){
cat_names.push(result.cat_name);
})
console.log(cat_names);
})
关于javascript - 从 mongodb 创建项目数组 - Node js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38997210/