Articles of javascript

键值对在JavaScript中

在MongoDb中应用filter 我需要在embedded式文档中应用mongoDb中的filter,所以我该如何进行查询 例: var query = { _id:userId, 'match.Id':matchId, 'match.userId':userId1 } 现在我想应用filter让我们假设 情况1:我的查询应该是这样的 var query = { _id:userId, 'match.Id':matchId, } 情况2: var query = { _id:userId, 'match.userId':userId1 } 可以有很多这样的情况 所以我的问题是如何使这个查询对象在node.js / JavaScript 我的工作:我可以在对象中创build多个键,但是如下创build键不起作用 var query={} query._id:userId // works query.'match.userId':matchId // error query.match.userId:matchId //error 下面的代码尝试得到所需的输出,但它带有方括号,但types的ARR是对象 var arr = []; arr[ 'key3.abc' ] = "value3"; arr[ 'key2.abc' […]

节点json2xls可下载的文件

我有以下(简单)节点模块: var json2xls = require('json2xls'); var fs = require('fs'); module.exports = function (router, mongoose) { router.route('/client/toExcel') .post(function (req, res) { var obj = req.body.data; var xls = json2xls(obj); fs.writeFileSync('data.xlsx', xls, 'binary'); res.download('data.xlsx'); }); return router; }; 现在,当我从我的前台打电话给我时。 节点服务器创build文件,但它发回文件,但作为文本,而不是一个可下载的文件这里是我的控制台的截图: 任何人都可以告诉我什么即时做错了? 这是我的要求的形象:

在webpack的js文件中导入moment.js

在我的项目中,我使用webpack和npm。 我安装了moment.js: npm install moment 。 然后我想在我的app.js文件中导入它: import moment from "moment" 。 但它不起作用。 我得到: 无法解决的时刻… 我试着let moment = require('moment'); 但我得到同样的错误。 但我可以在我的webpack.config.js文件没有错误要求。 我的app.js文件位于/myapp/frontend/app.js 我的webpack.config.js文件位于: /myapp/webpack.config.js 所以,请解释为什么我不能在我的app.js中需要时刻,我该怎么做? 我的configuration文件: const webpack = require("webpack"); const NODE_ENV = process.env.NODE_ENV || "development" const path = require('path'); //example of successfull importing let moment = require('moment'); console.log(moment(new Date())); module.exports = { context: __dirname […]

如何将事件发送到gulp-tap的父stream中

我正在设置一个gplp文件,在开发过程中将多个JavaScript文件捆绑到多个捆绑包中。 因为我想观察这个过程,如果在其中一个文件中有错误(语法或其他),我将需要正确地向父stream发送一个end事件,不要退出。 为了处理多个文件,我使用了gulp食谱中描述的方法 。 但是,使用这个和阅读文档上的吞咽水龙头,我不确定如何让它发送到父stream的错误。 我想要做的是以下几点: gulp.task('bundle', () => ( gulp.src(['whatevs/*.js'], { read: false }) .pipe($.tap((file) => { file.contents = browserify( // eslint-disable-line no-param-reassign file.path, { debug: true, fullPaths: true } ).bundle(); })) .on('error', function handleBrowserifyError(err) { this.emit('end'); }) .pipe(gulp.dest('bundles/')) )); 我可以看到错误,如果我将传递给bundle()调用的callback,但我没有丝毫的线索如何将其返回到父stream。

如何在Node.js中使用multer上传文件?

我想用MULTER上传图片。 但它不工作。 这里有什么问题? 这段代码在我的路由文件中。 var multer = require('multer'); var upload = multer({ dest: 'public/uploads/' }); 这是我的邮政路线。 router.post('/addNewFood', upload.single('avatar'),function (req, res, next) { console.log(req.files); });

不会将数据插入到具有nodeJS的mongoDB的“用户”集合中

我遇到麻烦,用nodeJS向mongoDB插入数据。 这是我的server.js文件的一部分: app.post('/users', function(req, res, next){ db.collection('users', function(err, usersCollection){ usersCollection.insert(req.body, {w : 1} , function(err){ return res.send(); }); }); }); 这是我的控制器在我的index.html文件中: app.controller('SLController', function ($scope, $http){ $scope.submitSignup = function(){ var newUser = { username: $scope.username, email: $scope.email, password: $scope.password }; $http.post('/users', newUser).then(function(){ alert('Success'); }); } /*$scope.signin = function (){ $http.put('/users/signin', {username: $scope.username, password: $scope.password}) .then(function(){ alert("Successfully […]

使用ExpressJS和AngularJS

我正在学习NodeJS和Express。 我使用Node和Express以及2个Node模块来获取客户端的IP地址。 那部分工作正常。 我在尝试使用AngularJS(1.x)在浏览器中使用Angular从Node模块显示地理位置数据时遇到了问题。 我做错了什么,因为我不能在浏览器中通过Angular获取地理数据。 // get IP address app.get('/ip', function (req, res, next) { //var ip = req.myCustomAttributeName;// use this for live //var ip = '207.97.227.239';/* use this for testing */ console.log('requestIP is ' + ip); // geolocation geoip2.lookupSimple(ip, function(error, result) { if (error) { return res.status(400).json({error: 'Something happened'}); } else if (result) { […]

javascript:canvas上的图像(背景)

所以我的问题是我不能先画背景,然后在背景上画一切。 在我的代码中的一些地方(在循环function),它的工作原理,但在我的初始化函数不。 先介绍一下我的代码: 代码获取背景img并绘制它: function imgImport(imgName,ctx){ var img = new Image(); img.onload = function(){ ctx.drawImage(img,0,0); }; img.src = 'client/img/' + imgName + '.jpg'; } module.exports = imgImport; 很酷,现在在我的初始化函数我使用上面的代码是这样的: // var img = new Image(); // img.src = 'client/img/spaceship.jpg'; // ctx.drawImage(img,0,0); Img('spaceship',ctx); drawGrayzonePlanets(ctx,serverObjects); 现在不要介意3条注释行。 第一个活动行Img('spaceship',ctx):是通过nodejs使用的上述imgImport函数。 DrawGrayzonePlanets如下所示: function drawGrayzonePlanets(ctx,serverObjects){ for(object in serverObjects){ obj = serverObjects[object]; Drawobjects(ctx,obj); } […]

节点js扩展inheritance对象(作为枚举)

看起来好像你不能在Node.js中扩展类对象(在这种情况下用作枚举)。 例 富 class Foo {} Foo.action = {}; Foo.action.jump = 1; module.exports = Foo; 酒吧 var Foo = require('./foo'); var Baz = require('./baz'); class Bar extends Foo { constructor(){ super(); this.baz = new Baz(); } } Bar.action.stay = 2; module.exports = Bar; 用法 (编辑,它在类中使用) var Bar = require('./bar'); class Baz { constructor(){ console.log(Bar.action); //undefined […]

Mongoose更新条件匹配错误的对象

模型模式 const PollSchema = new Schema({ title: { type: String, trim: true, required: true }, choices: [ { title: { type: String, trim: true, required: true }, votes: { type: Number, default: 0, min: 0 }, } ], date: { type: Date, default: Date.now }, url: { type: String, required: true, unique: true }, }) […]