谁在Meteor的同一查询中使用$或$ in

时间:2013-11-20 09:22:14

标签: javascript mongodb meteor

大家好我在Meteor中使用$或$ in时遇到一些问题。

我遵循MongoDB The Definitive Guide:

这本书
  

db.raffle.find({$ or:[{ticket_no:{$ in:[725,542,390]}},{winner:true}]})

但是没有用。也许是因为miniMongo不接受?

这是我的代码:

keyArray = Session.get("search_keywords").split(" ");
console.log(keyArray);
keywords = [];
for (var i = 0; i < keyArray.length; i++) {
  keywords.push(new RegExp(keyArray[i],"i"));
  console.log(keywords);
}
  console.log(keywords);
  data = Data.find({$or:[{title:{$in: keywords}}, {sort: {SortCreated: -1}}).fetch();
  console.log(sedis)

1 个答案:

答案 0 :(得分:1)

您的第一个查询通过meteor mongo命令行正常工作。

但是你的第二个查询不起作用,因为你将一个列表传递给$or运算符,但列表中只有一个东西(正如@Alan Spencer所说,列表没有完成) 。此外,您可以将sort视为一项功能。尝试:

Data.find({title:{$in: keywords}}).sort({SortCreated: -1})

如果要记录数据,请添加.fetch(),如果要传递给模板则将其保留。