mongoose中想用where a_ids in aArray 或者 b_ids in bArray能办到吗?
发布于 13 年前 作者 shinka 7916 次预览 最后一次回复是 13 年前 来自
请问我用mongoose的话,想用where a_ids in aArray 或者 b_ids in bArray 或者c_ids in cArray,我刚用$where试了下失败了,代码如下,希望帮忙看看怎么整比较好。
var line = "";
if(uids.length > 0){
line += "createby.uid in [" + uids + "]";
}
if(gids.length > 0){
line += " || createby.gid in [" + gids + "]";
}
if(tids.length > 0){
line += " || createby.tid in [" + tids + "]";
}
message.find({}).$where(line).setOptions(optionObj).exec(function(err, messages){
callback_(err, messages);
});
4 回复
大神! 太感谢你了! 早上上班能看到这个真是叫人无比激动啊! 哈哈 谢啦 mongoose的where(“createby.uid”).in(uids)这个用法我也考虑过,但是想想要实现会比较麻烦,然后就想试试mongoose提供的$where的方式,可惜失败了。但是没有想到最后第二段你提到的那种原生态方式。另外有一个疑问,我也知道dao.find({id: id})这种写法不好,但是为啥实际提交的数据会变成data:{id:{$ne:‘123’}}呢? 求大神指点
假设这个脑残的程序员想解决这个问题,需要怎么做呢?
@shinka @bml3i