MongoDB基本语法

2017-08-13  本文已影响0人  被遗忘的传说
// 查看数据库
show dbs

// 查看当前窗口所在的数据库
db

// 创建/进入数据库
use demo 

//查看集合
show collections

// 创建集合
db.createCollection("test")
db.test.insert({id: 1, name: 'snow'})

// 固定集合,size指定集合大小,单位为KB,max指定文档数量
db.createCollection("collectionName",{capped:true,size:10000,max:100})

// 删除数据库
db.dropDatabase()

// 删除集合
db.test.drop()

// 删除数据
db.test.remove({userId: 1})

//删除age为7,name为snow的数据
db..test.remove({age:7,name:"snow"})

// 本意为将age为12的数据中的name更新为snow,但是实际效果是只是将age为12的满足条件数据的第一条整条数据覆盖为name:“snow”
db.test.update({age:12},{name:"snow"})

// 本意为将age为15的数据的name修改为snow,但是实际效果是只修改了查询到的第一条数据
db.test.update({age:15},{$set:{name:"snow"}})
db.test.update({userName: 'snow'}, {$set: {class.name: bbc}})

// 将age为15的数据的name修改为snow,总共4个参数,第3个参数1表示如果没有符合条件的记录是否新增一条记录,1表示新增,0表示不新增,第四个参数表示有多条数据符合筛选条件的话是否全部更改,默认为0只改第一条,改为1后表示全部更改
db.test.update({age:15},{$set:{name:"snow"}},1,1)

// 如果不存在age为21的数据则增加一条,增加的数据为{name:”snow”}
db.test.update({age:21},{$set:{name:"snow"}},1,1)

// $inc表示使某个键值加减指定的数值,此处表示将name为snow的数据的age字段的值减2
db.test.update({age:12},{name:"snow"},{$inc:{age:-2}},1,1)

// $unset用来删除某个键,此处表示删除name为snow的数据的age字段
db.test.update({age:12},{name:"snow"},{$unset:{age:1}},0,1)

// 查询所有数据
db.test.find()

// 查询姓名为snow的数据
db.test.find({userName: 'snow'})

// 查询年龄大于30
db.test.find({userAge: {$gt: 30}})

// 查询年龄大于等于30并升序排列
db.test.find({userAge: {$gte: 30}}).sort({age:1})

// 查询年龄小于30
db.test.find({userAge: {$lt: 30}})

// 查询年龄小于等于30并降序排列
db.test.find({userAge: {$lte: 30}}).sort({age:-1})

// 查询年龄等于30
db.test.find({userAge: {$eq: 30}})

// 查询所有的数据,返回age字段
db.test.find({},{age:1})

// 查询age为18,name为snow的数据,返回name和age字段
db.test.find({age:18,name:"snow"},{name:1,age:1})

// (包含...并且包含...)查询所有price包含1和2的数据
db.test.find({price:{$all:[1,2]}})

// (包含...或者包含...)查询price中含有1或者2的数据
db.test.find({price:{$in:[1,2]}})

// (不包含...并且不包含...)查询price中不含有1并且不含有2的数据
db.test.find({price:{$nin:[1,2]}})

// (...或者...)查询name为snow或者价格包含3的数据
db.test.find({$or:[{name:"snow"},{price:{$in:[3]}}]})

// (既不也不)查询name不为snow或者name不为sn的数据
db.test.find({$nor:[{name:"snow"},{name:"sn"}]})

// (分页)查询从0条开始,查询10条,skip()方法默认参数为 0 ,表示跳过的条数
db.test.find().skip(0).limit(10)

// 按照年龄升序排序,为-1的话表示降序排序
db.test.find().sort({age:1})

// 查询存在hight字段的数据
db.test.find({hight:{$exists:1}})

// 查询第一条数据
db.test.findOne()

// 关闭数据库
use admin
db.shutdownServer()
上一篇下一篇

猜你喜欢

热点阅读