Gulp 中 Mongo 的数据使用 Gulp 数据
Data from Mongo in Gulp using Gulp Data
如何在使用 Gulp 数据时从我的 Mongo
数据库获取数据以作为数据源输入 Gulp
?
Gulp任务(简化)
gulp.task('db-test', function() {
return gulp.src('./examples/test3.html')
.pipe(data(function(file, cb) {
MongoClient.connect('mongodb://127.0.0.1:27017/prototype', function(err, db) {
if(err) return cb(err);
cb(undefined, db.collection('heroes').findOne()); // <--This doesn't work.
});
}))
//.pipe(data({"title":"this works"})) -> This does work
.pipe(through.obj(function(file,enc,cb){console.log('file.data:'+JSON.stringify(file.data,null,2))}));
});
当我使用原型数据库时,我可以运行,
> db.heroes.findOne()
得到这个结果:
{
"_id" : ObjectId("581f9a71a829f911264ecba4"),
"title" : "This is the best product!"
}
您可以将 cb(undefined, db.collection('heroes').findOne());
行更改为如下所示,
db.collection('heroes').findOne(function(err, item) {
cb(undefined, item);
});
或如下简写,
db.collection('heroes').findOne(cb);
所以你上面的简化 Gulp 任务变成了,
gulp.task('db-test', function() {
return gulp.src('./examples/test3.html')
.pipe(data(function(file, cb) {
MongoClient.connect('mongodb://127.0.0.1:27017/prototype', function(err, db) {
if(err) return cb(err);
db.collection('heroes').findOne(cb);
});
}))
//.pipe(data({"title":"this works"})) -> This does work
.pipe(through.obj(function(file,enc,cb){console.log('file.data:'+JSON.stringify(file.data,null,2))}));
});
如何在使用 Gulp 数据时从我的 Mongo
数据库获取数据以作为数据源输入 Gulp
?
Gulp任务(简化)
gulp.task('db-test', function() {
return gulp.src('./examples/test3.html')
.pipe(data(function(file, cb) {
MongoClient.connect('mongodb://127.0.0.1:27017/prototype', function(err, db) {
if(err) return cb(err);
cb(undefined, db.collection('heroes').findOne()); // <--This doesn't work.
});
}))
//.pipe(data({"title":"this works"})) -> This does work
.pipe(through.obj(function(file,enc,cb){console.log('file.data:'+JSON.stringify(file.data,null,2))}));
});
当我使用原型数据库时,我可以运行,
> db.heroes.findOne()
得到这个结果:
{
"_id" : ObjectId("581f9a71a829f911264ecba4"),
"title" : "This is the best product!"
}
您可以将 cb(undefined, db.collection('heroes').findOne());
行更改为如下所示,
db.collection('heroes').findOne(function(err, item) {
cb(undefined, item);
});
或如下简写,
db.collection('heroes').findOne(cb);
所以你上面的简化 Gulp 任务变成了,
gulp.task('db-test', function() {
return gulp.src('./examples/test3.html')
.pipe(data(function(file, cb) {
MongoClient.connect('mongodb://127.0.0.1:27017/prototype', function(err, db) {
if(err) return cb(err);
db.collection('heroes').findOne(cb);
});
}))
//.pipe(data({"title":"this works"})) -> This does work
.pipe(through.obj(function(file,enc,cb){console.log('file.data:'+JSON.stringify(file.data,null,2))}));
});