@删除命令:remove()
1.删除rule表中酒店id为451的所有记录:
db.rule.remove({ 'INN_ID':'451' })
2.删除整个表的数据:
db.rule.remove({ })
@查询命令:find()
操作 | 格式 | 例子 | 解释 |
等于 | {<key>:<value>} | db.rule.find({"inn_id":"451"}) | 查询酒店id为451的记录 |
小于 | {<key>:{$lt:<value>}} | db.rule.find({"breakfast_amount":{$lt:4}}) | 查询早餐份数小于4的记录 |
小于或等于 | {<key>:{$lte:<value>}} | db.rule.find({"breakfast_amount":{$lte:4}}) | 查询早餐份数小于或等于4的记录 |
大于 | {<key>:{$gt:<value>}} | db.rule.find({"breakfast_amount":{$gt:4}}) | 查询早餐份数大于4的记录 |
大于或等于 | {<key>:{$gte:<value>}} | db.rule.find({"breakfast_amount":{$gte:4}}) | 查询早餐份数大于或等于4的记录 |
不等于 | {<key>:{$ne:<value>}} | db.rule.find({"breakfast_amount":{$ne:4}}) | 查询早餐份数不等于4的记录 |
大于、小于 | db.rule.find({breakfast_amount: {$lt :6, $gt : 3}}) | 查询早餐份数大于3,小于6的记录 |
@条件查询:
1.and条件查询:
>db.rule.find({key1:value1, key2:value2})
2.or条件查询:
>db.rule.find( { $or: [ {key1: value1}, {key2:value2} ] } )
3.and和or同时存在:
>db.rule.find({"breakfast_amount": {$gt:4}, $or: [{"inn_id": "451"},{"roomTypeCode": "220"}]})
对等于SQL 语句: 'where breakfast_amount>4 AND (inn_id= '451' OR roomTypeCode = '220')'
@模糊查询:
1.查询 title 包含"教"字的文档:
db.col.find({title:/教/})
2.查询 title 字段以"教"字开头的文档:
db.col.find({title:/^教/})
3.查询 titl e字段以"教"字结尾的文档:
db.col.find({title:/教$/})
@排序:通过sort()方法进行数据排序,其中1为升序排列,-1为降序排列
格式:>db.COLLECTION_NAME.find().sort({KEY:1})
@去重查询:distinct
查询营业日规则表中满足酒店id为JJ1050且过滤重复价格码的价格码记录
db.getCollection('INN_RULE_DATE').distinct('RATE_CODE',{
"INN_ID" : "JJ1050"
})