LokiJS:简单的查找查询返回错误结果

LokiJS: Simple find query returns wrong result

本文关键字:返回 错误 结果 查询 查找 简单 LokiJS      更新时间:2023-09-26

在LokiJS中,我尝试了一个非常简单的查询(我假设是AND):

var dbRes = recsCol.find({'format':format, 'cardId':-1});
用 插入一些数据后的

recsCol.insert({format:format, cardId:id, recCardId:key, amount:item[key]});

不包含cardId为-1的

查询仍然产生结果。这是预期行为吗?如果是这样,我如何使字段完全匹配,以便在这种情况下不会得到结果?

你可以在LokiJS中做AND,没有问题:

var dbRes = recsCol.find({'$and': [{'format':format}, {'cardId':-1}]});

我建议对一次性查询使用find。如果查询在可能改变的结果集上多次出现,那么一定要使用视图。

默认情况下,查询对象中的所有字段都被视为OR。要使其成为AND,您需要将查询语法更改为以下内容:

recsCol.find({
    $and: [
        {'format':format},
        {'cardId':-1}
    ]
});