【问题标题】:Find by number index按数字索引查找
【发布时间】:2015-04-18 17:26:38
【问题描述】:

我尝试按索引查找条目:

var questions = db.addCollection('questions',{indices: ['key']});
questions.insert({
key: 1,
quest: 'any idea'
},
{
  key: 2,
  quest: 'no idea'
});

questions.find({'key':1});

但我没有得到任何结果。转储数据库显示条目。 有什么想法吗?

【问题讨论】:

    标签: javascript lokijs


    【解决方案1】:

    LokiJS 的作者在这里。只是为了准确起见,问题不在于字符串与数字,而在于用于查询的语法,不应该是find({x: 1, y: 1}),而是find({x:1}, {y: 1})。将来可能会支持具有多个属性的查询,但推荐的方法是使用 findAndfindOr,或者更好的是,尽可能使用 DynamicViews。

    更新:现在正确的语法是: find({ '$and': [{x:1}, {y: 1}]}).

    【讨论】:

    • 嗨,乔,很高兴得到官方评论。我的感觉是,能够通过正常的 find 而不需要 findAnd 的全键访问会更常见。我认为这是尝试这种方式的来源。我同意,在没有构造主键的情况下,常见的 findAnd 将是常见的方式。你用 LokiJS 做的很好 - 尊重!!
    • @Danny 干杯!传递不同的查询对象,如{ x: 1 }, { y: 1} 执行隐式and 操作,无论如何,1.4 将引入ExactIndex,它将使用特定值对记录进行分组,这将解决许多这些情况。 find 方法更多是为了安抚 Mongo 爱好者(我也是其中之一:D),但不是惯用的 LokiJS。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 2016-02-09
    • 1970-01-01
    • 2010-10-28
    • 1970-01-01
    • 2013-06-20
    相关资源
    最近更新 更多