我正在使用noSQL数据库,出于某些原因我不能在查询中使用相等过滤
e.g
select all from database where id = 10
是不允许的
但允许不等式过滤
例如
select all from database where id > 1
我的ID是UNIQUE字符串(电子邮件),我需要使用相等过滤,所以我想将不等式语句转换为等式语句(例如,id = 10可以写成Where id> 9 AND< 11)。
如果我的ID是数字,我会使用这样的代码来获取我的密钥:
function(id)
{
//assuming no id can be 0 and no id can be larger than 2^53-1. This will return the row with id = 10
var result = sendToDatabaseQuery('SELECT * FROM database where id > ' + (id-1) + ' AND ' id < ' (i+1)');
}
使用数字可以很容易地做到这一点,但是使用Strings我发现它更具挑战性。如果我有一封电子邮件,如mysuperfakeemail,我怎么能得到上一个和下一个词典字符串(我假设他们是mysuperfakeemail.gmail.co l 和mysuperfakeemail.gmail.co n 分别)?这种功能已经建立了算法吗?我在具有UTF-8字符的nodejs服务器上写这个。