主要进程
mongod.exe为启动数据库实例的进程。
mongo是一个与mongod进程进行交互的JavaScript shell进程,它提供了一些交互的接口函数用户对数据库的管理。
基本命令
show databases; 查询数据库列表
show collections; 查询所有的集合 对应关系型数据库的表
use test; 数据库切换 切换到test数据库
mongodb数据库记录成为文档
插入文档命令
db.customers.save({name:"张三",age:15,address:‘北京东城"}); 向集合customer库插入一个文档
for(var i=1;i<=100;i++) db.customers.save({name:"张三"+i,age:i,telephone:"1861400275"+i}); 批量插入100个文档
查询选择器
db.customers.find();
db.customers.find({name:"张三11‘});
db.customers.find({age:{$lt:45}}); 关键字 $lt less than 小于
$lte 小于等于 less than equals
$gt 大于 greater than
$gte 大于等于 greate than equals
db.customer.find({age:{$lt:45,$gt:35}});
db.customer.find({age:{$in:[34,35,36]}}); $in 值在范围内 $nin 值不在范围内
db.customer.find({age:{$ne:50}}); $ne 关键字的值不等于
db.customer.find({$or:[{age:{$lt:5},{name:"zhangsan"}}]}); $or 或 age小于5或name等于zhangsan
db.customer.find({$and:[{age:{$lt:5},{name:"zhangsan"}}]}); $and 且 两个条件同时满足
db.customer.find({id:{$exists:false}}); 等价于 db.customer.find({id:null});
MongoDB表结构是不固定的,有时需要返回包含某个字段的所有记录或不包含的
查询投射
查询的结果集返回指定的字段
db.customer.find({age:{$lt:10}},{_id:0,id:1,name:1}); _id:0 表示不返回_id
第一个{}内为查询选择器,第二个{}为对前面返回的结果集进行进一步过滤的条件,即投射项。
db.customer.find().skip(10).limit(5).sort(id:-1); 跳过前十条,取五条,id:-1表示降序排列
数组操作
文档的属性为数组 AttributeValue:["收腰型","修身型","直筒型","宽松型"]
db.DictGoodsAttribute.find({"AtributeValue":"收腰型"}); 只要属性中包含该值,就能返回
匹配数组中指定位置的元素值
db.DictGoodsAttribute.find({"AttributeValue.0":"收腰型"}); 第一个属性值为"收腰型"
增该删操作
增加记录 db.customer.save();
1.第一次插入数据时,不需要预先创建集合,插入数据时会自动创建
2.插入时会默认创建主键_id,类型为ObjectId类型,这样设计为了更好地支持分布式存储
3._id插入时复制不能重复
修改语句 条件 赋值
db.customer.update(query,update,<upsert>,<multi>);
query为过滤条件 update为赋值 若只包含字段,不包含操作项,则会发生取代性更改
upsert 可选参数 boolean类型 默认为false,更新匹配记录,找不到则插入新的文档到集合,插入新记录
multi 可选参数 boolean类型 默认为false,更新匹配到的第一个文档,当为true时,更新所有匹配的文档
db.customer.update({id:5},{$set:{name:"zhangsan"}},{upsert:true},{multi:true});
删除语句
db.customer.remove({name:"zhangsan"}); 删除所有 name:zhangsan的文档
db.customer.remove({name:"zhangsan"},1); 删除第一个匹配文档
db.customer.remove(); 删除所有文档,但不删除对应的索引集合,文档对象也会从相应的数据文件中删去
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/afterlife_qiye/article/details/46860439