大家好我在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)
答案 0 :(得分:1)
您的第一个查询通过meteor mongo
命令行正常工作。
但是你的第二个查询不起作用,因为你将一个列表传递给$or
运算符,但列表中只有一个东西(正如@Alan Spencer所说,列表没有完成) 。此外,您可以将sort
视为一项功能。尝试:
Data.find({title:{$in: keywords}}).sort({SortCreated: -1})
如果要记录数据,请添加.fetch(),如果要传递给模板则将其保留。