mongodb 基本操作命令

mongodb 命令

save() 插入记录

db.things.save({x:3});

find() 查询记录

db.things.find();

普通查询 while来输出

var cursor = db.things.find()
while (cursor.hasNext()) printjson(cursor.next());

forEach() 输出

db.things.find().forEach(printjson);

使用数组的形式输出:

var cursor = db.things.find();

printjson(cursor[4])

var arr = db.things.find().toArray();

findOne()语法

db.things.findOne({name:"mongo"})

通过 limit 限制结果集数量

db.things.find().limit(3);

修改记录

db.things.update({name:"mongo"},{$set:{name:"mongo_new"}});

删除记录

db.things.remove({name:"mongo_new"});

查看索引

db.things.getIndexes()

添加索引

db.things.ensureIndex({"age": 1})

1.  文档索引
db.factories.insert( { name: "wwl", addr: { city: "Beijing", state: "BJ" } } );
//在 addr 列上创建索引
db.factories.ensureIndex( { addr : 1 } );
//下面这个查询将会用到我们刚刚建立的索引
db.factories.find( { addr: { city: "Beijing", state: "BJ" } } );
//但是下面这个查询将不会用到索引,因为查询的顺序跟索引建立的顺序不一样
db.factories.find( { addr: { state: "BJ" , city: "Beijing"} } );

2. MongoDB 组合索引.在 addr.city 和 addr.state
当创建组合索引时,字段后面的 1 表示升序, -1 表示降序,是用 1 还是
用-1 主要是跟排序的时候或指定范围内查询 的时候有关的。
db.factories.ensureIndex( { "addr.city" : 1, "addr.state" : 1 } );
// 下面的查询都用到了这个索引
db.factories.find( { "addr.city" : "Beijing", "addr.state" : "BJ" } );
db.factories.find( { "addr.city" : "Beijing" } );
db.factories.find().sort( { "addr.city" : 1, "addr.state" : 1 } );
db.factories.find().sort( { "addr.city" : 1 } )

3. 建立唯一索引 {unique: true}
db.t4.ensureIndex({firstname: 1, lastname: 1}, {unique: true});

删除索引

1
2
3
4
//删除 t3 表中的所有索引
db.t3.dropIndexes()
//删除 t4 表中的 firstname 索引
db.t4.dropIndex({firstname: 1})

常用工具集

  • bsondump: 将 bson 格式的文件转储为 json 格式的数据 
  • mongo: 客户端命令行工具,其实也是一个 js 解释器,支持 js 语法 
  • mongod: 数据库服务端,每个实例启动一个进程,可以 fork 为后台运行 
  • mongodump/ mongorestore: 数据库备份和恢复工具 
  • mongoexport/mongoimport: 数据导出和导入工具 
  • mongofiles: GridFS 管理工具,可实现二制文件的存取 
  • mongos: 分片路由,如果使用了 sharding 功能,则应用程序连接的是 mongos 而不是mongod 
  • mongosniff: 这一工具的作用类似于 tcpdump,不同的是他只监控 MongoDB 相关的包请求,并且是以指定的可读性的形式输出 
  • mongostat: 实时性能监控工具
坚持原创技术分享,您的支持将鼓励我继续创作!
//