mongoDb学习笔记一(基础知识)

1、简介
    1.1、文档是mongod中数据的基本单元,非常类似于数据库中的行;
    1.2、集合collection可以看做是一个用于动态模式(dynamic schema)的表;
    1.3、mongodb的一个实例可以拥有多个独立的数据库,每个数据库拥有自己的集合;
    1.4、每个文档都有一个特殊的键“_id”,这个键在文档所属的集合中是唯一的;
    1.5、mongodb自带一个javascript shell,用于管理mongodb的实例或者数据操作。

2、基本操作
    2.1、创建
        > post={"title":"my blog","date":new Date()};
        { "title" : "my blog", "date" : ISODate("2014-11-16T00:38
        > db.blog.insert(post)
    2.2、读取
        db.blog.find()或者db.blog.findOne()
    2.3、更新
        > post.comments=[]
        > db.blog.update({title:"my blog"},post)  
    2.4、删除
        db.blog.remove({title:"my blog"})

3、使用mongodb shell
    3.1、连接mongodb实例
        mongo hostName:port/dbName
    或者:使用--nodb,启动时就不会连接任何数据库。
        mongo --nodb
        conn = new Mongo("hostName:port");
        db = conn.getDB("dbName")
    3.2、使用shell执行脚本
        mongo script1.js,script2.js
        会依次执行传入的脚本,然后退出
        mongo --quiet hostName:port/dbName script1.js,script2.js
        上述脚本会连接上指定的mongodb数据库执行脚本
    3.3、创建mongorc.js
        如果某些脚本会被频繁加载,可以将他们添加到mongorc.js文件,这个文件会在启动shell时自动运行。
        例如:在用户主目录下创建一个mongorc.js
       mongorc.js最常见的用途之一就是移除那些比较“危险”的shell辅助函数。如下:
            var no = function() {
                print ("XXXX");
            }
        //禁止删除数据库
        db.dropDatabase = DB.prototype.dropDatabase = no;
        //禁止删除集合
        DBCollection.prototype.drop = no;
        //禁止删除索引
        DBCollection.prototype.dropIndex = no;
    3.4、定制shell提示
        将prompt变量设为一个字符串或者函数,就可以重写默认的shell提示。
        例如:prompt =function() {
                        return (new Date())+ ">";
                    }
       
    3.5、集合命名注意事项
        可以使用db.collectionName获取一个集合的内容,但是,如果集合名称中包含了保留字或者无效的javaScript·属性名称,db.collectionName就不能正常工作了。
        假如要访问version集合,不能直接使用db.version,因为这个是db的一个方法(返回当前mongodb的版本号)
        为了访问version集合,必须使用getColletion函数
        db.getColletion("version");

猜你喜欢

转载自dbnaxlc.iteye.com/blog/2156629