你如何进行下面的查询,我想在伦敦或其他名字中有希尔顿的酒店?
此查询db.hotels.find({$ where:"name =/hilton/i || city =/london/i"})
出现这样的错误错误:{"$ err":"$ where compile error"}
两个查询分别正常工作:db.hotels.find({$ where:"city =/london/i"})db.hotels.find({$ where:"name =/hilton/i"})
现在,mongodb支持$或condition,你可以这样做:
db.hotels.find( { $or: [ { name: /hilton/i },
{ city: /london/i }
]
} );
Run Code Online (Sandbox Code Playgroud)
试试这个:
db.hotels.find({
$where: "/london/i.test(this.city) || /hilton/i.test(this.hotel)"
})
Run Code Online (Sandbox Code Playgroud)
注意
据我所知$where,每个文档的评估都是如此,因此它可能非常慢.如果你有一个属性,我建议像smth一样
db.hotels.find({name: /(hilton|london)/i})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2254 次 |
| 最近记录: |