mongodb基础语法(增删改查)
2017-12-18 15:23
609 查看
1 创建删除db/collection
help --显示下面的帮助 db.help() --操作数据库的帮助 db.mycoll.help() --操作collection的帮助 --DDL,关键字和sql相似 use test; --自动创建test db.tl.insert("name","kubi"); --自动创建t1 db.t1.renameCollection("t2"); --重命名为t2 db.t1.drop(); --删除t1,如果test没有其他collection,也自动删除
2 增改删
--插入:insert/insertOne/insertMany, db.t1.insertMany([ {"name":"name1", "sex":"m", "age":19, "course":["chinese","mathematics","english"]}, {"name":"name2", "sex":"f", "age":20, "course":["chinese","mathematics","english"]}, {"name":"name3", "sex":"m", "age":21, "course":["chinese","mathematics","english"]}, {"name":"name3", "sex":"f", "age":22, "course":["chinese","mathematics","english"]} ]) --注意insert和insertOne方法的结果提示不同,其他差别未知,后面update/delete也是这种差别,可自行测试 > db.t1.insert({"a":"1"}); -- update/remove是这种提示 WriteResult({ "nInserted" : 1 }) > db.t1.insertOne({"a":"1"}); --updateOne/updateMany/deleteOne/deleteMany是这种提示 { "acknowledged" : true, "insertedId" : ObjectId("5a3762a85c029ceb2e42371d") } --更新,updateOne/Many相当于update的multi等于false/true --update_bool:如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入 db.t1.update( query, update[, update_bool, multi_bool]); --以下两种写法都可以 db.t1.update({"sex":"m"}, {$set: {"sex":"n"}}, false, true); db.t1.update({"sex":"m"}, {$set: {"sex":"n"}}, {multi:true}); --remove和deleteMany的效果相同,结果提示不同(同上),删除一条用deleteOne db.t1.remove({"sex":"m"}); db.t1.deleteMany({"sex":"m"});
3 查询
--pretty()树形显示 db.t1.find().pretty(); --只显示name字段,sort/skip/limit无论位置先后,执行顺序:sort->skip->limit db.t1.find({},{"name":1,_id:0}).sort({"name":1}).skip(3).limit(2); --比较运算符:$gt/$lt/$gte/$lte/$eq/$ne db.t1.find({"age":{$lt:20}}); --$in/$nin/$all/$type/$size/$exists db.t1.find({"course":{$in:["chinese","mathematics","physics"]}}); --包含array中一个即可 db.t1.find({"course":{$all:["chinese","mathematics"]}}); --要求包含array里所有 --数据类型详见http://www.runoob.com/mongodb/mongodb-operators-type.html db.t1.find({"age":{$type:16}}); --查找年龄是整数的记录,32-bit integer db.t1.find({"course":{$size:3}}); --查找course长度为3的记录 db.t1.find({"course":{$exists:ture}); --存在course字段的记录,可选值:true/false,等于1/0 db.t1.find({"course.2":{$exists:1}); --查找course长度大于等于(lte)3的记录
4 字段操作
--删除sex字段,用unset关键字 db.t1.update({}, {$unset: {"sex":""}}, false, true); --lng的类型改为int,改为float用parseFloat。注意:原来没有lng字段的document会加上lng:NaN db.t1.find({}).forEach( function(x) { x.lng = parseInt(x.lng); db.mycoll.save(x); })
相关文章推荐
- Mongodb基础入门(2)——增删改查等基础操作
- SQL基础语法(增删改查)和基本函数
- MongoDB 增删改查与 Golang 的语法实现
- mongodb基础操作--增删改查
- MongoDB Shell简单入门(增删改查)
- 用java实现对MongoDB的基本操作(增删改查)
- web day5 xml基础(jaxp的增删改查)
- nodejs笔记五--MongoDB基本环境配置及增删改查;
- 一天了解Mongodb基础语法
- MongoDB 基础命令——数据库表的增删改查——遍历操作表中的记录
- Mongodb与spring集成(3)------MongoRepository实现增删改查和复杂查询
- python cx_Oracle的基础使用方法(连接和增删改查)
- iOS中数据库-创建表-增删改查数据-基础语法
- MyBatis基础02之CRUD(增删改查)
- SQL 基础增删改查语句
- mongodb的增删改查操作指南
- MongoDB——Java操作(增删改查)
- MongoDB的安装与增删改查语句
- MongoDB基本操作(增删改查)
- Python操作Mongodb (增删改查)