mongoDB是不支持多表查询的,而nodeJS又是异步的,导致多表查询比较麻烦。
一个十分简陋的多表查询方法(只有一个关联条件):先从第一个collection中查询得到数据,将其中两个collection关联的field从中取出来并去重,通过$in在第二个collections中查询。
在写数组去重的时候,发现js语言特性写这种函数比C++轻松太多。
var users = [], uhash={};//uhash是辅助用hash表
for(var i=0, len=data.length; i<length; ++i){
if (!uhash[data[i].email]) {//只有hash表中不存在再插入
uhash[data[i].email] = true;
users.push(data[i].email);
}
}
hash可以非常方便的帮助完成一些辅助数组的任务。
posted on 2011-09-14 01:42
dead_horse 阅读(6015)
评论(1) 编辑 收藏 引用 所属分类:
node.js