小编Col*_*lin的帖子

Mongoose查询返回什么不匹配?

阅读Mongoose文档我有点困惑.

如果我运行猫鼬其中没有匹配的文档集合中的查询,什么都值err,并results在回调函数callback(err, results)?我只是不知道Mongoose认为是什么"错误".作为一名数学家,返回空集(即results数组为空)似乎完全有效,不应该是"错误" - 查询执行正常,没有匹配的文档.另一方面,有些人可能认为这是"错误".来自mongoose docs,要么:

  1. err= null,results= []
  2. err= null,results= null
  3. err=错误文档,results= null

database mongoose mongodb node.js

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

callback()或返回callback()

我可能不太了解Node的事件循环.

假设我有一个foo包含异步函数的函数async_func.我有吗

//1
function foo(callback) {
       //stuff here
       async_func(function() {
            //do something
            callback();
       });
//this eventually get executed
}
Run Code Online (Sandbox Code Playgroud)

要么

//2
function foo(callback) {
       //stuff here
       async_func(function() {
            //do something
            return callback();
       });
//never executed
}
Run Code Online (Sandbox Code Playgroud)

asynchronous node.js

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

猫鼬:怎么了"_doc"?

似乎Mongoose在内部做了一些非常时髦的事情.

1 var Foo = new mongoose.model('Foo', new mongoose.Schema({a: String, b: Number}));
2 var foo = new Foo({a: 'test; b: 42}); 
3 var obj = {c: 1};
4 foo.goo = obj;                  // simple object assignment. obj should be 
                                  //   passed by reference to foo.goo. recall goo
                                  //   is not defined in the Foo model schema

5 console.log(foo.goo === obj);   // comparison directly after the assignment
    // => false, doesn't behave like normal JS object
Run Code Online (Sandbox Code Playgroud)

基本上,任何时候你试图处理Mongoose模型的属性,而不是a)在模型的模式中定义或b)被定义为相同的类型(array,obj,..)......模型甚至都没有表现得像一个普通的Javascript对象.

切换第4行以foo._doc.goo = …

mongoose mongodb node.js

14
推荐指数
3
解决办法
7448
查看次数

在node.js,mongoose中过度使用require()

我是Node.js的新手,但很像模块系统和require().话虽如此,来自C背景,让我感到不安的是看到同样的模块require()到处都是.总而言之,它引导我做出一些偏离C中事情的设计选择.例如:

  • 我是否应该require()在定义猫鼬模型的每个文件中进行mongoose?或者将mongoose实例注入到定义模型的每个文件中.
  • 我应该require()在每个需要它们的模块中使用我的猫鼬模型吗?或者让模型提供者传递并用于提供这些模型.

等.对于那些经常使用依赖注入的人 - 我的直觉C感觉只告诉我require()一个模块,并根据需要传递它.但是,在看了一些开源的东西之后,这似乎并不是Node的方式.require()确实让事情变得非常容易..

过度使用这种机制是否有害?

architecture design-patterns mongoose mongodb node.js

5
推荐指数
1
解决办法
746
查看次数

如何在express.static()中获取/ POST文件

关于Express如何提供文件,我有点困惑.

目前我有一个/public目录来保存客户端资源.我使用配置Express

app.use(express.static(__dirname + '/public'));
Run Code Online (Sandbox Code Playgroud)

我的印象是这个目录中的任何内容都是公共的,并且HTTP方法url默认/public为访问的根目录(除非由Express手动路由).

在这个目录中的任何文件上使用GET都没有问题(客户端脚本,图像等等.但是,当我尝试在这个目录中POST文件时,我得到了404.我是否需要手动路由所有POST请求ala

app.post(route, callback)

谢谢你的帮助

node.js express

4
推荐指数
1
解决办法
1809
查看次数

ExtJS:动态改变元素样式

我正在尝试为我的元素动态分配样式(在本例中为ExtJS displayfield).

我不能使用CSS类,因为我不知道运行时的颜色是什么.

我尝试着:

myDisplayField.getEl().applyStyles({ color: '#ff0000' });  //fail
myDisplayField.getEl().setStyle('color', '#ff0000');       //fail
Run Code Online (Sandbox Code Playgroud)

只是为了让机制正确,但似乎都不起作用.

它可以使用Ext.get(<div id>).setStyle(...),但这对我来说似乎并不干净.以前的尝试是否有效?

我错过了什么?谢谢.

extjs extjs4

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

ExtJS别名vs id

我不明白ExtJS 中alias vs id vs itemId配置属性的用法

应用程序/视图/ foo.js

Ext.define('app.view.foo', {
    ...
    alias: 'widget.foo',         // 1
    id: 'foo',                   // or 2
    ...
});
Run Code Online (Sandbox Code Playgroud)

应用程序/控制器/ goo.js

Ext.define('app.controller.goo', {
    ...
    views: ['foo', ...],
    init: function() {
        this.control({
               'foo': {...},     // 1
               '#foo': {...}     // or 2
               ...
        });
        ...
    },
    ...
});
Run Code Online (Sandbox Code Playgroud)

随着alias我可以使用xtype容易..但我通过设置获得什么好处id的,以我的看法?

extjs extjs4

3
推荐指数
1
解决办法
3101
查看次数

Vim在每次保存后插入_viminfo文件

我只是干净(重新)安装了Vim(从vim.org/download.php下载,使用了gvim73_46.exe安装程序.版本是7.3(补丁1-46)

我的_vimrc唯一的变化是设置行号,行,列和启用语法.

每次我用vim编辑文件,保存并关闭它(:wq),就会在该文件目录中创建一个新的 _viminfo文件.

此外,备份*.*~文件和.swp文件仍然存在,并且在保存时不会被清除.运行Windows 7企业版.

这真的使一切变得混乱 - 并且试图打开存在文件的文件是一种痛苦.swp.帮助?

windows vi vim

1
推荐指数
1
解决办法
766
查看次数

连接和缩小Node.js应用程序

这个问题不是如何连接和缩小js代码 - 它是什么时候,应该做什么.(也许是JS从客户端入侵服务器的结果)

根据我的理解,连接代码是一种减少脚本请求数量的手段.因此,此任务应该在将被请求并在客户端中运行的JS上运行 - 连接在Node上运行的文件将没有任何用处.

另一方面,缩小作为一种在不影响功能的情况下减少脚本总大小的技术,从而减少了请求中传输的比特数.同样,这种技术似乎最适用于打算传输到客户端的代码.

在我的服务器上运行的JS上执行这些任务可以获得任何性能提升吗?

javascript minify node.js

0
推荐指数
1
解决办法
226
查看次数