我爱编程

mongodb相关

2018-06-27  本文已影响15人  love_program

常见命令

show dbs //显示有哪些数据库
use test //使用某个数据库,如果已经有了该数据库会切换到该数据库;如果没有会创建该数据库,创建数据的时候,只有往数据库里面插入值的时候,通过show dbs 才会看见真正创建该数据库
db.createCollection('tests')//创建一个集合
db.test2.insert({"name":"hello"})//往集合中插入数据,也会自动创建集合
db //查看当前是哪个数据库
use test && db.dropDatabase() //删除数据库
show tables //显示有哪些集合
db.test.drop() //删除数据库里面的集合
db.test.insert()//往集合里面插入文档 (增)
db.test1.remove({"name":111})//删除集合里面的文档 删)
b.test1.update({name:1}, {$set:{age:3}})//修改集合里面的文档 (改)
db.test.find()//查询集合里面的文档 (查)
db.test1.count()// 返回集合里面的文档的条数

/////////////////////// 增加相关操作 //////////////////////////////////
db.test1.insert({name:1,age:2}) //往test1集合里面添加一条数据
db.test1.insert([{name:1},{age:2}, {name:1,age:2}]) //批量插入多条数据

//insert.js
var db = connect('test');
for(var i=0; i<1000; i++) {
    db.test1.insert({name:'mzr', age:i});
}
//进入到mongo客户端,执行load('./insert.js') 插入多条数据,只是模拟,这种情况插入多条数据不建议

////////////////////// 删除相关操作 //////////////////////////////////
db.test1.remove({}) //删除test1集合里面所有的数据


////////////////////// 更新相关操作 /////////////////////////////////
db.test1.update({name:1},{$inc:{age:2}}) //找出name是1的,并且更新age+2
db.test1.update({name:1}, {$push:{hobby:"1111"}}) //往数组里面添加一条数据: 更新name为1的,并且往hobby字段里面push一条数据
db.test1.update({name:1}, {$addToSet: {hobby:'1111'}}) // 往数组里面添加一条不重复的数据:更新name为1的,并且往hobby字段里面添加一条数据,如果有了,就不会再添加
db.test1.update({name:1}, {$addToSet: {hobby:{$each:[1,2,3,4]}}})//往数组里面添加多条不重复的数据: 更新name为1的,并且往hobby字段里面添加数据,怎么添加呢,遍历添加多条数据
db.test1.update({name:1}, {$pop:{hobby:1}}) //删除hobby数组里面的最后一个元素
db.test1.update({name:1}, {$set:{"hobby.4":"你好啊"}})//将hobby数组里面的索引为4的元素改了
//以脚本的形式运行
var modify = {
//要操作的集合
    findAndModify: 'test1',
//指定查询条件
    query: {name: 4}
//指定如何更新,把年龄加100
    update: {$set :{age: 100}}
//指定返回的字段
    fields: { age: true, _id: false }
//表示按age字段进行正序排列
    sort:{age:1},
//new为true,返回更新后的文档
    new: true
}
var db = connect('test');
var result = db. runCommand(modify);//可以返回更新后的文档
printjson(result)


//////////////////////  查询相关操作 /////////////////////////////////
db.test1.find({},{name:1,_id:0}) //只需要name字段,排序_id字段
db.test1.find({'_id':{"$lt":ObjectId("5b334f96c3061fed28b54b14")}}).sort({"_id":-1}).limit(1)//查询某

常见运算符

$set //设置值更新某个值
$unset  //删除某个字段
$gt  //表示大于
$lt  //表示小于
$gte  //表示大于等于
$lte  //表示小于等于
$inc  //表示增加 //increment简写
$push //往数据里面追加一条数据
$ne //不等于
$addToSet //如果原来有数据了就不会再添加了

查询相关操作(1分插入,9分查询)

通过配置项启动数据库

上一篇 下一篇

猜你喜欢

热点阅读