小编Eri*_*rik的帖子

Express.js:如何获取远程客户端地址

我不完全理解我应该如何获得远程用户IP地址.

假设我有一个简单的请求路由,例如:

app.get(/, function (req, res){
   var forwardedIpsStr = req.header('x-forwarded-for');
   var IP = '';

   if (forwardedIpsStr) {
      IP = forwardedIps = forwardedIpsStr.split(',')[0];  
   }
});
Run Code Online (Sandbox Code Playgroud)

上述方法是否正确获取真实用户IP地址还是有更好的方法?那些代理呢?

ip ip-address node.js express

221
推荐指数
9
解决办法
23万
查看次数

如果父文件夹不存在,如何写文件?

我需要将文件写入以下路径:

 fs.writeFile('/folder1/folder2/file.txt', 'content', function () {

 });
Run Code Online (Sandbox Code Playgroud)

'/folder1/folder2'路径可能不存在.所以我收到以下错误:

 message=ENOENT, open /folder1/folder2/file.txt
Run Code Online (Sandbox Code Playgroud)

如何将内容写入该路径?

file-io file node.js

76
推荐指数
5
解决办法
6万
查看次数

如何从文档中排除某些字段

我有以下简单的shema:

 var userSchema = new Schema({
    name : String,
   age: Number,
   _creator: Schema.ObjectId
  });

  var User = mongoose.model('User',userSchema);
Run Code Online (Sandbox Code Playgroud)

我想要做的是创建新文档并返回到客户端,但我想从一个中排除'creator'字段:

app.post('/example.json', function (req, res) {
   var user = new User({name: 'John', age: 45, _creator: 'some ObjectId'});
   user.save(function (err) {
      if (err) throw err;

      res.json(200, {user: user});     // how to exclude the _creator field?
   });
});
Run Code Online (Sandbox Code Playgroud)

最后,我想发送没有_creator字段的新创建用户:

{
   name: 'John',
   age: 45
} 
Run Code Online (Sandbox Code Playgroud)

是否可以在没有额外发现请求的情况下制作猫鼬?

PS:最好是通过它

javascript mongoose mongodb express

56
推荐指数
6
解决办法
3万
查看次数

如何使用Node.js,Express和Mongoose进行身份验证?

我使用nodejs + express制作了简单的nodejs应用程序.现在我想让用户认证.我想通过使用mongoose实现会话处理.你能举个例子吗?

authentication mongoose node.js express

51
推荐指数
3
解决办法
7万
查看次数

带有params的Node.js/Express路由

假设我得到这样的路线:

app.get('/documents/format/type', function (req, res) {
   var format = req.params.format,
       type = req.params.type;
});
Run Code Online (Sandbox Code Playgroud)

所以如果我提出要求的话

http://localhost:3000/documents/json/mini
Run Code Online (Sandbox Code Playgroud)

在我的格式和类型变量将分别是'json'和'mini',但如果我提出请求

http://localhost:3000/documents/mini/json
Run Code Online (Sandbox Code Playgroud)

不.所以我的问题是:如何以不同的顺序获得相同的变量?

node.js express

50
推荐指数
2
解决办法
8万
查看次数

的NodeJS /猫鼬.哪种方法比创建文档更可取?

当我使用mongoose时,我发现了两种在nodejs中创建新文档的方法.

第一:

var instance = new MyModel();
instance.key = 'hello';
instance.save(function (err) {
  //
});
Run Code Online (Sandbox Code Playgroud)

第二

MyModel.create({key: 'hello'}, function (err) {
  //
});
Run Code Online (Sandbox Code Playgroud)

有什么区别吗?

mongoose node.js

39
推荐指数
1
解决办法
2万
查看次数

检测nodejs中的内存泄漏

是否有一些工具可以检测nodejs中的内存泄漏?并告诉我您在测试nodejs应用程序方面的经验.

node.js

34
推荐指数
4
解决办法
2万
查看次数

Select2:init之后如何设置数据?

初始化select2后,我需要设置一个数据数组.所以我想做这样的事情:

var select = $('#select').select2({});
select.data([
  {id: 1, text: 'value1'},
  {id: 1, text: 'value1'}
]);
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

当附加到元素时,Select2不允许使用选项'data'.

我的HTML:

<select id="select" class="chzn-select"></select>
Run Code Online (Sandbox Code Playgroud)

我应该使用什么而不是选择元素?

我需要设置搜索项目的来源

javascript jquery jquery-select2

34
推荐指数
3
解决办法
5万
查看次数

"已定义"数组元素的计数

给出以下数组:

var arr = [undefined, undefined, 2, 5, undefined, undefined];
Run Code Online (Sandbox Code Playgroud)

我想获得哪些元素的计数定义(即:那些 undefined).除了遍历数组之外,还有一个很好的方法吗?

javascript undefined

32
推荐指数
2
解决办法
12万
查看次数

在EC2中托管nodejs应用程序

我有兴趣在云中托管nodejs应用程序,我正在为我的目的寻找免费的云托管.我发现亚马逊有一个,但我有以下问题:是否有任何关于如何在Amazon EC2中设置和运行nodejs应用程序的教程?

编辑:你能为nodejs提供任何好的托管服务(heroku除外)吗?

hosting amazon-ec2 node.js

28
推荐指数
4
解决办法
4万
查看次数