二、Mongodb实战之——Mongodb Shell实现简单插入和查询

来源:互联网 发布:袁岚峰 知乎 编辑:程序博客网 时间:2024/06/05 19:43

  1. insert
  2. 向集合中插入文档

    source code

    function (obj, _allow_dot) {    if (!obj) {        throw "no object passed to insert!";    }    if (!_allow_dot) {        this._validateForStorage(obj);    }    if (typeof obj._id == "undefined" && !Array.isArray(obj)) {        var tmp = obj;        obj = {_id:new ObjectId};        for (var key in tmp) {            obj[key] = tmp[key];        }    }    this._db._initExtraInfo();    this._mongo.insert(this._fullName, obj);    this._lastID = obj._id;    this._db._getExtraInfo("Inserted");}

    example:

    >db.users.insert({"userName":"chjzh","pwd":"123"})

  3. find
  4. 在集合中查询符合条件的文档,find()返回集合中所有文档

    source code

    function (query, fields, limit, skip, batchSize, options) {    return new DBQuery(this._mongo, this._db, this, this._fullName, this._massageObject(query), fields, limit, skip, batchSize, options || this.getQueryOptions());}

    example

    >db.users.find({"userName":"chjzh"})

  5. save
  6. 向集合中插入文档,与insert不同的是,若集合中存在重复的id则insert不做插入,而save则更改原来的内容为新内容

    source code

    function (obj) {    if (obj == null || typeof obj == "undefined") {        throw "can't save a null";    }    if (typeof obj == "number" || typeof obj == "string") {        throw "can't save a number or string";    }    if (typeof obj._id == "undefined") {        obj._id = new ObjectId;        return this.insert(obj);    } else {        return this.update({_id:obj._id}, obj, true);    }}

    example

    >db.users.save({"userName":"chjzh","pwd":"111111"})

  7. count
  8. 统计集合中满足条件的文档个数

    source code

    function (x) {    return this.find(x).count();}

    example

    >db.users.count()
原创粉丝点击