我是node的新手,我已成功读取mongoDB中的数据。
但我想将Collection中的整个数据存储到nodejs中的变量中,因为我想在索引页面中使用它们。
我不知道如何储存它。
// Connection URL
var url = 'mongodb://localhost:27017/test';
// Use connect method to connect to the Server
MongoClient.connect(url, function (err, db) {
assert.equal(null, err);
console.log("Connected correctly to server");
seriescollection = db.collection('series');
});
var findseries = function (db, callback) {
var cursor = db.collection('series').find();
cursor.each(function (err, doc) {
assert.equal(err, null);
if (doc != null) {
console.dir(doc);
} else {
callback();
}
});
};
MongoClient.connect(url, function (err, db) {
assert.equal(null, err);
//insertDocument(db, function () {});
findseries(db, function () {
db.close();
});
});
我在MongoDb中的示例JSON对象是
{
"_id" : "b835225ba18",
"title" : "Name",
"imageurl" :"https://promotions.bellaliant.net/files/Images/TMN/Ballers-June2015.jpg",
"namespaceId" : "UNI890"
}
我想访问所有字段,并根据我存储的字段创建页面。我需要访问所有字段,这是我的主要目标。
这是一个宠物项目,我正在闲暇时间学习MEAN堆栈。
非常感谢你的帮助!!!!
答案 0 :(得分:2)
此代码存在一些问题,但我认为您正在寻找的是toArray
方法:
var findseries = function (db, callback) {
db.collection('series').find().toArray(function(err, allTheThings) {
// Do whatever with the array
// Spit them all out to console
console.log(allTheThings);
// Get the first one
allTheThings[0];
// Iterate over them
allTheThings.forEach(function(thing) {
// This is a single instance of thing
thing;
});
// Return them
callback(null, allTheThings);
}
}
更多信息:https://docs.mongodb.org/manual/reference/method/cursor.toArray/
在这里:https://mongodb.github.io/node-mongodb-native/api-generated/cursor.html#toarray