MongoDB之旅(二)基本操作(MongoDB Javascript Shell)
MongoDB之旅(二)基本操作(MongoDB Javascript Shell)
在了解了MongoDB后,这里简单介绍一下对MongoDB的一些简单操作。
MongoDB javascript shell是一个基于javascript的解释器,故是支持js程序的。
如下:
for(i=0;i<200000;i++){
db.numbers.save({num:i});
}
---------------------下面介绍一些简单的操作-----------------
use tutorial;
db.users.insert({username:"smith"}); db.users.save({username:"jone"});
db.users.find(); db.uers.find({username:"smith"});
db.users.count();
db.users.update({username:"smith"},{$set:{country:"Canada"}});
db.users.update({username:"smith"},{$unset:{country:1}});
db.users.update({username:"smith"},{$set:{favourites:{city:["Beijing","Chicago"],movies:["American Beauty","....."]}}});
db.users.find({"favourites.movies":"American Beauty"});
向favourites.movies里添加一个新的元素可用如下:$push,$addToSet,后者保证唯一性。
db.users.find({username:"smith"},{$addToSet:{"favourites.movies":"The Maltess Falcon"}},false,true);
参数一:查询条件;参数二:添加元素;参数四:表示是多项更新(multi-update);MongoDB的更新操作默认只会应用于查询选择器匹配到的第一个文档。如果希望操作被应用于匹配到的所有文档,需要显示说明。
db.foo.remove();删除文档中的数据,foo文档本身不会被删除类似:delete/truncate tablem 命令;
db.users.drop();删除文档。
其它:
·db.members.find({num:{"$gt":1999995}});
db.members.find({num:{"$gt":20,"$lt":25}});
·db.members.find({num:{"$gt":1999995}}).explain();[BasicCursor:没有使用索引;n:结果个数;nscanned:扫描的个数]
·num的升序索引如下:db.members.ensureIndex({num:1});查看索引创建情况:db.members.getIndexes();