Wonko Wonko - 2 years ago 75
Javascript Question

LokiJS: Simple find query returns wrong result

In LokiJS I try a very simple query (which I assume is AND):

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

after inserting some data with

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

that doesn't contain a cardId of -1.

The query still yields results. Is this expected behaviour? If so, how can I make the fields match exactly so that I won't get a result in this case?

Answer Source

You can do an AND in LokiJS, no problem:

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

I recommend using find for one-off queries. If the query occurs multiple times on resultsets that may change then definitely use a view.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download