mongodb学习:
##mongodb基础
##数据库常用命令
##用户相关
##修改、添加、删除集合数据
##条件操作符
##创建表

-----------------------------------------------------------------------------
##mongodb基础
MongoDB由databases(相当于Mysql的数据库)组成,
databases由collections组成(collection相当于Mysql的表)
collections由documents组成(document相当于Mysql的行),
documents由fields组成(fields相当于Mysql的列)

在mongodb中使用一种类json的bson存储数据。bson数据可以理解为在json的基础上添加了一些json中没有的数据类型。

mongodb是异步写数据

MongoDB没有创建数据库的命令,但有类似的命令。
如:如果你想创建一个“myTest”的数据库,先运行use myTest命令,之后就做一些操作(如:db.createCollection('user')),这样就可以创建一个名叫“myTest”的数据库。

-----------------------------------------------------------------------------
##数据库常用命令

输入help可以看到基本操作命令:

Help查看命令提示
help
db.help();
db.yourColl.help();
db.youColl.find().help();
rs.help();

切换/创建数据库
use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库

查询所有数据库
show dbs;

查看当前使用的数据库
db;
db.getName();
db和getName方法是一样的效果,都可以查询当前使用的数据库

显示当前db状态
db.stats();

创建一个聚集集合(table)
db.createCollection(“collName”, {size: 20, capped: 5, max: 100});
db.createCollection(“mytb”);

得到指定名称的聚集集合(table)
db.getCollection("account");

得到当前db的所有聚集集合
db.getCollectionNames();

显示当前db所有聚集索引的状态
db.printCollectionStats();

当前db版本
db.version();

查看当前db的链接机器地址
db.getMongo();

删除当前使用数据库
db.dropDatabase();

修复当前数据库
db.repairDatabase();

从指定主机上克隆数据库
db.cloneDatabase(“127.0.0.1”); 将指定机器上的数据库的数据克隆到当前数据库

从指定的机器上复制指定数据库数据到某个数据库
db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中

在表中增加一条数据:
db.mytb.Save({id:1,name:"tester"});

-----------------------------------------------------------------------------
##用户相关
添加一个用户
db.addUser("name");
db.addUser("userName", "pwd123", true); 添加用户、设置密码、是否只读

数据库认证、安全模式
db.auth("userName", "123123");

显示当前所有用户
show users;

删除用户
db.removeUser("userName");

-----------------------------------------------------------------------------
##修改、添加、删除集合数据
添加
db.users.save({name: ‘zhangsan’, age: 25, sex: true});
添加的数据的数据列,没有固定,根据添加的数据为准

修改
db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true);
相当于:update users set name = ‘changeName’ where age = 25;

db.users.update({name: 'Lisi'}, {$inc: {age: 50}}, false, true);
相当于:update users set age = age + 50 where name = ‘Lisi’;

db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true);
相当于:update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;

删除
db.users.remove({age: 132});

查询修改删除
db.users.findAndModify({
query: {age: {$gte: 25}},
sort: {age: -1},
update: {$set: {name: 'a2'}, $inc: {age: 2}},
remove: true
});

db.runCommand({ findandmodify : "users",
query: {age: {$gte: 25}},
sort: {age: -1},
update: {$set: {name: 'a2'}, $inc: {age: 2}},
remove: true
});

-----------------------------------------------------------------------------
##条件操作符
(>) 大于 - $gt
(<) 小于 - $lt
(>=) 大于等于 - $gte
(<= ) 小于等于 - $lte

-----------------------------------------------------------------------------
#####################################
##创建表
use mydb;
db.addUser("snow","snow");
db.auth("snow","snow");
db.createCollection("test");
show collections;
db.test.save({id:1,name:"tester"});
db.test.find();
#####################################
use mydb;
db.mydb.insert(document);
document=({"user_id" : "ABCDBWN","password" :"ABCDBWN" ,"date_of_join" :"15/10/2010" ,"education" :"B.C.A." , "profession" : "DEVELOPER","interest" :"MUSIC","community_name" :["MODERN MUSIC", "CLASSICALMUSIC","WESTERN MUSIC"],"community_moder_id" : ["MR. BBB","MR. JJJ","MRMMM"],"community_members" : [500,200,1500],"friends_id" :["MMM123","NNN123","OOO123"],"ban_friends_id" :["BAN123","BAN456","BAN789"]});
#####################################

mongodb基本语句使用的更多相关文章

  1. mongodb常用语句(集合操作)

    mongodb常用语句(集合操作) 查看集合帮助 db.songs.help(); 查看集合总数据量 db.songs.count(); 查看表空间大小 db.songs.dataSize(); 查看 ...

  2. mongodb查询语句与sql语句对比

    左边是mongodb查询语句,右边是sql语句.对照着用,挺方便. db.users.find() select * from users db.users.find({"age" ...

  3. mongodb常用语句

    一.查询 find方法 db.collection_name.find(); 查询所有的结果: select * from users; db.users.find(); 指定返回那些列(键): se ...

  4. mongodb查询语句

    左边是mongodb语句,右边是sql语句 db.users.find() select * from users db.users.find({"age" : 27}) sele ...

  5. mongodb系列~ mongodb慢语句(3)

    简介: 关于mongodb慢日志是如何收集 一 mongodb慢日志的开启 1 直接设置参数,不重启服务:db.setProfilingLevel(1) 2 添加启动参数,重启服务:添加profile ...

  6. mongodb系列~mongodb慢语句(2)

    一简介:今天遇到一个慢日志的排查和解决过程 二 版本:3.0.6 三 架构:分片集群 四 具体过程 1 程序响应很慢,具体日志寻找定点sql(mongodb慢日志记录在log日志里) awk '$NF ...

  7. MongoDB查询语句(转)

    目录 查询操作 集合查询方法 find() 查询内嵌文档 查询操作符(内含 数组查询) "$gt" ."$gte". "$lt". &quo ...

  8. 5. MongoDB基本操作语句

    转自:http://blog.51cto.com/shanqiangwu/1653577 #MongoDB中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”. ...

  9. mongodb 操作语句与sql操作语句对比

    上行:SQL 操作语句 下行:Mongo 操作语句 CREATE TABLE USERS (a Number, b Number) db.createCollection("mycoll&q ...

随机推荐

  1. 关于KVM的几篇细节文档

    1. Qemu  Study http://lists.gnu.org/archive/html/qemu-devel/2011-04/pdfhC5rVdz7U8.pdf http://handboo ...

  2. PAT (Basic Level) Practise:1021. 个位数统计

    [题目链接] 给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种 ...

  3. 如何为libs目录下的jar包关联源代码

    以前,我们可以为lib目录下的jar包关联源代码,但是现在似乎不行了. 下面是一篇讲述此问题解决方法的文章: How to attach javadoc or sources to jars in l ...

  4. Codeforces Round #370 (Div. 2) A B C 水 模拟 贪心

    A. Memory and Crow time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  5. 使用 Spring Security 保护 Web 应用的安全

    安全一直是 Web 应用开发中非常重要的一个方面.从安全的角度来说,需要考虑用户认证和授权两个方面.为 Web 应用增加安全方面的能力并非一件简单的事情,需要考虑不同的认证和授权机制.Spring S ...

  6. PHP新手入门1——表单

    注:本身是Android,Android之前是java.但公司后台PHP特别多.就好奇php后台是怎么通过一个url给我数据的(完全不懂php).于是就学呗.学习系列随笔第一人称是一个Android小 ...

  7. leetcode 132. Palindrome Partitioning II ----- java

    Given a string s, partition s such that every substring of the partition is a palindrome. Return the ...

  8. leetcode 105 Construct Binary Tree from Preorder and Inorder Traversal ----- java

    Given preorder and inorder traversal of a tree, construct the binary tree. Note:You may assume that ...

  9. Java中相等测试

    一:equals与==的区别 (1)基本数据类型 byte,short,char,int,long,float,double,boolean 此类数据类型的比较需要使用==,此时比较的是他们的值,若相 ...

  10. php get set方法深入理解

    在类当中,设计通用的set和get方法,可以简化对属性的读写,这种方法不同于针对于独立的属性的普通的get和set方法,后者针对每个属性,都必须提供一对方法,前者针对所有属性,因此,可以看作是批量定义 ...