`
wubin_025
  • 浏览: 19316 次
  • 来自: ...
社区版块
存档分类
最新评论

mongodb系列之操作篇

 
阅读更多

这篇主要介绍下mongodb的基础操作。

1、create

(1)、创建数据库,创建表:mongodb不需要这些创建操作,看我存储篇中举的例子。

(2)、创建索引 :

db.user.ensureIndex({'name': 1});
// 创建子文档索引
db.user.ensureIndex({'addr.mobile': -1});
// 创建复合索引
db.user.ensureIndex({
'name': 1, // 升序
'sex': -1 // 降序
});

如果已经为子键创建了索引,那么其包含的子文档就不需要索引了,例如已经创建addr的索引,就不需要创建addr.mobile的索引了 db.user.ensureIndex( { addr: 1 } );
创建唯一索引:
db.user.ensureIndex({
'name': 1,
// 指定为唯一索引
'unique': true,
// 删除重复记录
'dropDups': true
});

同样可以创建地理空间索引,db.places.ensureIndex( { loc :"2d"} )


2、drop

3、find

注:筛选的时候默认包含_id,如果需要让返回的数据不包含_id,db.user.find({},{name:1,age:1,_id:-1})


4、insert

注:如果没有传入_id,mongodb会自动生成_id,_id是一个ObjectId对象,结构如下


5、update

db.collection.update( criteria, objNew, upsert, multi )
upsert和multi参数可选,upsert表示是否开启upsert模式(文档存在时更新,不存在时自动创建);multi表示是否开启多multi模式(默认情况下update操作只会更新第一个匹配到的文档,如果开启multi模式,则会更新所有匹配到的文档。

$inc 增加或减少数字的值,键不存在时会自动创建
$set 设置指定键的值,键不存在时会自动创建
$unset $set的反操作,会删除键及键值
$push 将元素追加到数组末尾,数组不存在会自动创建
$pushAll $push的批量操作版本
$addToSet 同$pushAll,但会自动过滤重复元素
$pop {$pop : {key : 1}}——从数组末尾移除元素
{$pop : {key : -1}}——从数组开头移除元素
$pull 从数组中移除所有匹配的元素
$pullAll $pull的批量操作版本
$rename 修改指定键的键名
$bit 对整形键值执行位操作“与”、“或”等


6、delete


更多高级用法请查看mongodb的官方文档。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics