• mongodb 学习笔记


    好久没用过 mongodb了,也差不多忘记一干二净,,复习一下

    官方文档:

    http://www.mongodb.org/display/DOCS/Overview+-+The+MongoDB+Interactive+Shell

    blog:

    http://tech.it168.com/a2011/0617/1206/000001206231_all.shtml

    mongod --install
    
    mongod --dbpath e:\mongodb\data\db
    mongod --port 10001 --dbpath D:/mongodb/data/db #指定port
    http://localhost:10001/
    
    注意:window 路径 / 与linux \ 的问题,还有必须要有目录,不然会出错
    //客户端连接 mongo 127.0.0.1:10011 //新建用户 db.test.addUser(name,passwd,onready); db.test.removeUser(name); // var data={name:'solq',age:24}; db.test.insert(data); // db.test.find(); db.test.findOne(); var nosql={name:'solq'}; db.test.findOne(nosql); //删除 db.test.remove(); // var nosql={name:'solq'}; var rel=db.test.findOne(nosql); rel.name="ming"; db.test.update(noslq,rel); //替换 var nosql={name:'solq'}; db.test.update(noslq,{xxx:'solq'}); //这里是 查出数据,然后替换掉 //统计 db.test.find().count(); //修改器 //自增 $inc var nosql={name:'solq'}; db.test.update(nosql,{'$inc':{age:1}}); //age +1 //插入字段 $set var nosql={name:'solq'}; db.test.update(nosql,{'$set':{age:1}}); //可以理解 添加字段 没有的内容就插入 有就复盖 //也可以修改内嵌 //删除字段 $unset var nosql={name:'solq'}; db.test.update(nosql,{'$unset':{age:1}}); //数组修改器 //插入数组 $push var nosql={name:'solq'}; db.test.update(nosql,{$push:{mail:'solq@qq.com'}}); db.test.update(nosql,{$push:{mail:'solq@qq.com'}}); //插入两个 //$addToSet 插入唯一 var nosql={name:'solq'}; db.test.update(nosql,{$addToSet:{mail:'solq@qq.com'}}); db.test.update(nosql,{$addToSet:{mail:'solq@qq.com'}}); //插入一个 //排除 $ne var nosql={name:{$ne:'solq'}}; //排除 name=='solq' db.test.update(nosql,{$addToSet:{mail:'solq@qq.com'}}); //循环 $each var nosql={name:'solq'}; db.test.update(nosql,{$addToSet:{'emails':{$each:['solq1@qq.com','solq2@qq.com','solq3@qq.com']}}}); //学到这里,我已经感觉不再需要关联多个表了,直接在原来记录扩展就行了 //弹出数组 $pop var nosql={name:'solq'}; db.test.update(nosql,{$pop:{key:index}}); //数组定位修改 //MSON 结构 data={ name:'solq', age:24, email:'so_lq@126.com', qq:360174425, web:[ { 'webName':'xxx', 'url':'http:///xxx' }, { 'webName':'xxx2', 'url':'http:///xxx2' } ] }; db.test.insert({name:'solq',web:[{webName:'xxx1','url':'xxx1'},{webName:'xxx2','url':'xxx2'}]}); var nosql={'web.webName':'xxx'}; //不是很理解 web.webName 可以直接跳过下标 db.test.update(nosql,{$set:{'web.0.webName':'xxx3'}}); // 定位 匹配的条件 db.test.update(nosql,{$set:{'web.$.webName':'xxx3'}}); //进阶吧 //一次 查询 → (有 更新)/ (没有 自增插入) db.test1.update({age:15},{$inc:{age:5},true}); //一次 查询 → (有 更新)/ (没有 插入) //先把数据 取出来,有唯一ID,修改结构后再保存 注意,如果数组结构没有id的话,相当于 insert一样,插入 var data=db.test1.findOne(); data.name='xxx'; db.test1.save(data); // 或者 db.test1.update({'_id':data._id},data); //更新多个文档 update 第四个参数 为 true var nosql={name:'solq'}; db.test.update(nosql,{$inc:{age:5},false,true}); //10-26 暂停 安全方面 //添加用户权限,登陆认证 use admin; db.addUser('root','solq',false); //true 时为只读 db.system.users.find(); //查找新建用户 //mongodb 启动 登陆认证 mongod --dbpath /db –auth 客户端连上后 db.auth('root','solq'); //返回一就成功
  • 相关阅读:
    Android——继续深造——从安装Android Studio 2.0开始(详)
    PHP——安装wampserver丢失MSVCR110.dll
    Marza Gift for GDC 2016
    Retrieve OpenGL Context from Qt 5.5 on OSX
    Space Time Varying Color Palette
    Screen Space Depth Varying Glow based on Heat Diffusion
    Visualization of Detail Point Set by Local Algebraic Sphere Fitting
    Glass Dragon
    Jump Flood Algorithms for Centroidal Voronoi Tessellation
    京都之行
  • 原文地址:https://www.cnblogs.com/solq/p/2501282.html
Copyright © 2020-2023  润新知