Mongoosejs:将两个'query.where'子句与'或'组合

时间:2013-01-07 21:23:32

标签: mongoose

我有一个mongoosejs Query,我正在尝试执行。

我有:

query.where('loc').nearSphere(loc).maxDistance(range/6378.137);
query.where('name', name );

我想在不使用this.find( $or: {} )的情况下合并这两个查询。

代码应该找到位置在范围内的文档,或者名称与提供的名称相匹配。

是否可以使用query.or()创建查询?

1 个答案:

答案 0 :(得分:2)

我想出了答案:

query.or([
    {
        nearSphere: 'loc',
        near: loc,
        maxDistance: (range/6378.137) },
    {
        "name": name
    }
]);

我无法理解的部分是如何在$or子句中嵌入查询。

我想删除这个问题,但我把这个问题留给了这个解决方案,以防它对某人有帮助