深入查询表达式
1. 最简单的查询表达式
{fied:value} ,是指查询field列的值为value的文档
2. $ne 相当于 != 查询表达式
{field:{$ne:value}} 查field列的值不等于value的文档
3. $nin 相当与 not in
4. $all
语法: {field:{$all: [v1,v2, ...]}}
是指取出field列时一个数组,且至少包含v1,v2值
5. exists , mod, type
语法: {field:{$exists:1}}, 查询出含有field字段的文档
6. >, >=, <, <=
- $gt 相当于 >
- $gte 相当于 >=
- $lt 相当于 <
-
$lte 相当于 <=
7. and , or, not
语法:{$nor:[条件1,条件2]} , 所有条件都不满足的文档为真返回.
8. 用正则表达式查询以 xiao开头的商品
db.goods.find({goods_name:/^xiao.*/}, {goods_name:1})
9. 用where表达式来查询
db.goods.find({$where:'this.card_id != 3 && this.card_id != 11'});
注意: 用$where 查询时,mongodb是把bson的二进制转换为json结构的对象,然后比较对象的属性是否满足表达式。 速度较慢