下拉框是ul li的方式,不过li下面还有一个ul,li所以我在mongo中设计的两张表,它们通过id和fatherid相关联。 自己照着书写了一个数据库的get方法,在尝试显示外层的ul时,ok显示正常。后来尝试开始写个字的下拉框里的内容,之前显示外层ul的时候,我们是传了一个空给get方法查询所有结果,然后遍历它,这里我的想法是这样的,在遍历的for循环中,我可以得到每个外层ul的id,然后去匹配内层ul的fatherid,想法不错,这相当于是在for循环中,不停执行get方法,后来系统报错了。 不知道我说没说明白,如果谁有做过多级的下拉框的显示时,分享一下你们的心得,谢谢了
4 回复
其实问题就是for循环里不停地去请求查询mongo数据库,我的想法是这样的,但是系统报db object already connecting ,open cannot be called multiple times,看来不能多次请求,我的做法是错的
现在功能实现,但方法不好,通过mongo数据库的两次全查询,将两次的结果集返回到页面上,在页面上通过两次for,根据主外键关系匹配,完成要求的显示。(唉,真心不给力)。发问了,mongo数据库不支持循环查询么,或者说如果想循环查询mongo,该如何实现?
可以 for 循环 不过注意是否出现闭包问题就好了,我这里给一段我写得代码给你参考
for(i = 0; i<articles_id.length; i++){
(function(i){
where = {_id: articles_id[i]}
get_article_by_query_once(where, function(err, article, author, edit, tags, replies){
if(err) return cb(err);
article.author = author;
article.edit = edit;
article.create_at = Util.format_date(article.create_time);
article.update_time = Util.format_date(article.update_at);
article.tags = tags;
article.reply = replies;
if(article.last_reply_at){
article.last_reply_time = Util.format_date(article.last_reply_at);
}
articles[i] = article;
proxy.trigger('articles.ready');
});
})(i);
}