mongodb 常用命令解释 (三)

来源:互联网 发布:linux 运维常见命令 编辑:程序博客网 时间:2024/05/08 12:30

ps:collection:xxxname

db.xxxname.ensureIndex({name:1}) //为name增加索引

db.xxxname.ensureIndex({name:1,ts:-1}) //创建联合索引,并且ts按照倒叙创建索引

db.xxxname.getIndexes() //查询当前集合的所有索引

db.xxxname.totalIndexSize() //查看总索引大小

db.xxxname.reIndex() //读取当前集合的所有index信息

db.xxxname.dropIndex("name_1") //删除指定索引

db.xxxname.dropIndexes() //删除当前集合的所有索引

======================================================================

print("hello world!") // 输出,和直接写"hello world"相同

tojson(new Object()) //将对象转换成json格式


for (var i = 0; i < 30; i++) {
  db.xxxname.save({name: "u_" + i, age: 22 + i, sex: i % 2});
}

//循环添加30条数据


var cursor = db.xxxname.find();
while (cursor.hasNext()) {
  printjson(cursor.next());
}

//游标查询所有的当前集合的信息


db.xxxname.find().forEach(printjson) //forEach迭代循环,必须传递一个函数来处理每条迭代的数据信息


var cursor=db.xxxname.find()

cursor[4] //取得下标索引为4的那条数据,既然可以当做数组处理,那么就可以得到它的长度:cursor.length()或cursor.count()

那样我们也可以用循环显示数据

for(var i=0,len=cursor.length();i<len;i++) printjson(cursor[i]);


var arr=db.xxxname.find().toArray()

printjson(arr[2]) //将find游标转换成数组,用toArray方法


db.xxxname.find({x:4}).forEach(function(x) {print(tojson(x));});
上面介绍过forEach需要传递一个函数,函数会接受一个参数,就是当前循环的对象,然后在函数体重处理传入的参数信息。