LokiJS:简单查找查询 returns 错误结果
LokiJS: Simple find query returns wrong result
在 LokiJS 中,我尝试了一个非常简单的查询(我假设是 AND):
var dbRes = recsCol.find({'format':format, 'cardId':-1});
使用
插入一些数据后
recsCol.insert({format:format, cardId:id, recCardId:key, amount:item[key]});
不包含 -1 的 cardId。
查询仍然产生结果。这是预期的行为吗?如果是这样,我怎样才能使字段完全匹配,这样我就不会在这种情况下得到结果?
您可以在 LokiJS 中执行 AND,没问题:
var dbRes = recsCol.find({'$and': [{'format':format}, {'cardId':-1}]});
我建议使用 find 进行一次性查询。如果查询在可能会更改的结果集上出现多次,那么一定要使用视图。
默认情况下,查询对象中的所有字段都被视为 OR。要使其成为 AND,您需要将查询语法更改为以下内容:
recsCol.find({
$and: [
{'format':format},
{'cardId':-1}
]
});
在 LokiJS 中,我尝试了一个非常简单的查询(我假设是 AND):
var dbRes = recsCol.find({'format':format, 'cardId':-1});
使用
插入一些数据后recsCol.insert({format:format, cardId:id, recCardId:key, amount:item[key]});
不包含 -1 的 cardId。
查询仍然产生结果。这是预期的行为吗?如果是这样,我怎样才能使字段完全匹配,这样我就不会在这种情况下得到结果?
您可以在 LokiJS 中执行 AND,没问题:
var dbRes = recsCol.find({'$and': [{'format':format}, {'cardId':-1}]});
我建议使用 find 进行一次性查询。如果查询在可能会更改的结果集上出现多次,那么一定要使用视图。
默认情况下,查询对象中的所有字段都被视为 OR。要使其成为 AND,您需要将查询语法更改为以下内容:
recsCol.find({
$and: [
{'format':format},
{'cardId':-1}
]
});