mongo命令:
show dbs //显示数据库
use test //使用某个数据库
db.test.insert({‘name’:’byc’}) //插入一条记录
db.test.find() //查找所有记录
db.test.findone() //查找一条记录
db.dropDatabase() //删除数据库
db.test.drop //删除指定集合
show collections //显示所有集合
db.createColletion(‘byc’) //创建集合
db.test.save({}) //插入记录db.test.update({‘_id’,1},{$set:{name:’test’,age:20}})
db.test.remove({}) //删除所有集合
for(var i=1;i<=10;i++){db.test.insert({"name":"king"+i,"age":i})} //循环插入10条记录
db.test.find().pretty() //格式化显示查询结果
db.test.find().count() //查询数据条数
db.test.find({"age":5}) /查找age是5的条目
db.test.find({“age”:{$gt:5}}) //查找age大于5的条目
db.test.find({"age":{$gt:5}}).sort({"age":1}) //查找age大于5的条目且升序排列
db.test.find({"age":{$gt:5}}).sort({"age":1}) //查找age大于5的条目且升序排列
db.test.find({"age":{$gt:5}}).sort({"age”:-1}) //查找age大于5的条目且降序排列
注:test是一个collection的名字
符号 | 说明 | 示例 |
---|---|---|
$lt | 小于 | {'age': {'$lt': 20}} |
$gt | 大于 | {'age': {'$gt': 20}} |
$lte | 小于等于 | {'age': {'$lte': 20}} |
$gte | 大于等于 | {'age': {'$gte': 20}} |
$eq | 等于 | {'age': {'$eq': 20}} |
$ne | 不等于 | {'age': {'$ne': 20}} |
$in | 在范围内 | {'age': {'$in': [20, 23]}} |
$nin | 不在范围内 | {'age': {'$nin': [20, 23]}} |
$regex | 匹配正则表达式 | {'name': {'$regex': '^M.*'}} -- name以M开头 |
$exists | 属性是否存在 | {'name': {'$exists': True}} -- name属性存在 |
$type | 类型判断 | {'age': {'$type': 'int'}} -- age的类型为int |
$mod | 数字模操作 | {'age': {'$mod': [5, 0]}} -- 年龄模5余0 |
$text | 文本查询 | {'search': 'Mike'}} -- text类型的属性中包含Mike字符串 |
$where | 高级条件查询 | {'$where': 'obj.fans_count == obj.follows_count'} --自身粉丝数等于关注数 |
- 模糊查询:
查询 title 包含"教"字的文档:db.col.find({title:/教/})
查询 title 字段以"教"字开头的文档:db.col.find({title:/^教/})
查询 title字段以"教"字结尾的文档:db.col.find({title:/教$/})
删除UP_short_cat字段
- upsert:如果不存在update的记录,是否插入objNew这个新的文档,true为插入,默认为false,不插入。此处置为0。
- multi:默认是false,只更新找到的第一条记录。如果为true,把按条件查询出来的记录全部更新。此处置为1。
db.getCollection('test_short').update({'UP_short_cat': {"$exists": 1}},{"$unset": {'UP_short_cat': 1}},0,1)