mongodb数据库基本用法:
查询:
1.条件操作符的使用,日期格式的查询,长度
db.getCollection('interougeProduct').find({"websiteId":18,"createdDate":{$gt:"2017-02-19"},"interougeStockMaps":{$size:2}})
2.查询列只显示指定字段(1:表示展示,0表示隐藏)
db.getCollection('interougeProduct').find({"sku":"1111000-RE"},{"weight":1,"_id":1})
3.若查询时不需要条件,只需要展示指定字段的值,则需加{}
db.getCollection('interougeProduct').find({},{"websiteId":1,"sku":1})
4.limit和skip的用法
db.getCollection('interougeProduct').find({},{"websiteId":1,"sku":1}).sort({"websiteId":1}).limit(7).skip(1)
limit()限制查询之后展示的行数
skip()从查询出来的结果开始算跳过的行数
意思为读第一条数据之后的七条数据,相当于mysql中的limit(1,7)
5.$regex使用正则表达式进行匹配
设置$options的值为$i
db.getCollection('interougeProduct').find({"websiteId":18,"sku":{$regex:"AAA",$options:"$i"}})
6.in和nin的用法
db.getCollection('interougeProduct').find({"websiteId":18,categoryIds:{$in:[2435]}})
db.getCollection('interougeProduct').find({"websiteId":18,categoryIds:{$nin:[2435]}})
7.or的用法
db.getCollection('interougeProduct').find({$or:[{"sku":"GMYR116-8"}]},{"sku":1})
更新:
set之前为查询的条件相当于update语句中where后面的语法,set之后的为要更新的字段,相当于update语句中set之后的字段
db.getCollection('interougeProduct').update({"websiteId":18,"_id":2},{$set:{"weight":20}})
若不加set,会将这条数据更新为{"weight":20}
聚合和管道的命令:
通过sku对字段进行分组,并统计sku字段相同的数量
db.getCollection('interougeProduct').aggregate(
[
{$group : {_id : "$sku", num_tutorial : {$sum : 1}}},
{$match : {num_tutorial : {$gte : 2}}}
])
删除:
删除指定的数据
查询:
1.条件操作符的使用,日期格式的查询,长度
db.getCollection('interougeProduct').find({"websiteId":18,"createdDate":{$gt:"2017-02-19"},"interougeStockMaps":{$size:2}})
2.查询列只显示指定字段(1:表示展示,0表示隐藏)
db.getCollection('interougeProduct').find({"sku":"1111000-RE"},{"weight":1,"_id":1})
3.若查询时不需要条件,只需要展示指定字段的值,则需加{}
db.getCollection('interougeProduct').find({},{"websiteId":1,"sku":1})
4.limit和skip的用法
db.getCollection('interougeProduct').find({},{"websiteId":1,"sku":1}).sort({"websiteId":1}).limit(7).skip(1)
limit()限制查询之后展示的行数
skip()从查询出来的结果开始算跳过的行数
意思为读第一条数据之后的七条数据,相当于mysql中的limit(1,7)
5.$regex使用正则表达式进行匹配
设置$options的值为$i
db.getCollection('interougeProduct').find({"websiteId":18,"sku":{$regex:"AAA",$options:"$i"}})
6.in和nin的用法
db.getCollection('interougeProduct').find({"websiteId":18,categoryIds:{$in:[2435]}})
db.getCollection('interougeProduct').find({"websiteId":18,categoryIds:{$nin:[2435]}})
7.or的用法
db.getCollection('interougeProduct').find({$or:[{"sku":"GMYR116-8"}]},{"sku":1})
更新:
set之前为查询的条件相当于update语句中where后面的语法,set之后的为要更新的字段,相当于update语句中set之后的字段
db.getCollection('interougeProduct').update({"websiteId":18,"_id":2},{$set:{"weight":20}})
若不加set,会将这条数据更新为{"weight":20}
聚合和管道的命令:
通过sku对字段进行分组,并统计sku字段相同的数量
db.getCollection('interougeProduct').aggregate(
[
{$group : {_id : "$sku", num_tutorial : {$sum : 1}}},
{$match : {num_tutorial : {$gte : 2}}}
])
删除:
删除指定的数据
db.getCollection('interougeProduct').remove({"_id":4})
删除指定的字段
db.getCollection('interougeProduct').update({"carryAStoryType":"scuPublish"},{$unset:{"length":"","width":"","height":""}},false,true)