controllers/topic.js/get_topics_by_query() 里面获取topic列表先取array(_id), 再根据_id分N次调用get_topic_by_id()取单个topic,get_topic_by_id()里面又取了user,tag等,这样多了很多次数据库查询。 为什么需要这样设计?
- 因为
get_topic_by_id
是先写成的,所以get_topics_by_query
要调用它需先获取id
列表 - 你会发现几乎每个对话题的请求都是需要话题的
author
和tags
,所以在get_topic_by_id
里附带读取这些数据
我想问下这个文件中nodeclub / controllers / topic.js
var models = require(‘…/models’), Tag = models.Tag, Topic = models.Topic, TopicTag = models.TopicTag, TopicCollect = models.TopicCollect;
models.Tag models.TopicCollec 是如何加载的? 我看了下/models 下是一些文件,打开看了,但不太明白这里的 require(‘…/models’), 是如何工作的,哪位大大能给解释下,感谢,我刚接触NodeJS。
nodejs与java,c#等的有点不一样,exports出来的就是“包”可见了,然后引用到这个包就可以引用到这些抛出来的“对象”,无论是方法还是对象,而像完全面向对象的java那些是类级别的,通过类去引用,所以在写nodejs时要规划好哪里往外exports,不然就会越来越乱。
@muyuan :
-
是否,有空来开源卫士社区的周四语音讲座来吼 express 开发 club 的体验?
-
在 YY 频道里説,通过 join.me 服务实时广播桌面,
- 嗯嗯嗯,如果你是用 mac 的话,就只能 虚拟机了,
var check = require(‘validator’).check, sanitize = require(‘validator’).sanitize; 这个validator模块,我好像没有找到,谁知道的?
昨天晚上下载了一个到虚拟机里面,ubuntu10,10.安装的时候告诉我缺少openssl,但是明明我装了的,后来又下载,又编译……,今天早上的时候,看到了干净的网站,只是自己注册了一个admin,就是不给我发个激活邮件。
不知道现在这个论坛注册完之后,是多少时间内激活有效,感觉应该一个小时或者是30分钟内,激活为有效,否测删除掉,不然有的注册了,可能没有收到激活邮件(各种原因),另外不知道可不可以支持重新发送激活邮件之类的。
mongoose这个模块不支持windows吗?npm install mongoose 搞不定啊 Not compatible with your operating system or architecture
@muyuan 老大,一直在研究node_club源码,但是对用邮件的发送功能总是不能发送成功,一直提示验证错误信息,详细的出错信息,老大可以参考我下面的这篇文章:enter link description here,非常期待老大的回复和解答,先谢谢呢!!!
研究了两天,很不错哦!!!
不过关于修改依赖模块connect:if (req.body && req.body.user_action === ‘upload_image’) return next();这样不太好吧,直接包含了upload_image字段。要修改的话是否应该添加个灵活一点的方法?