(一)数据库常用命令:
(1)Help查看命令提示:
help
db.help();
db.yourColl.help();
db.youColl.find().help();
rs.help();
(2)切换/创建数据库:
use yourDB;
当创建一个集合(table)的时候会自动创建当前数据库
(3)查询所有数据库:
show dbs;
(4)删除当前使用数据库:
db.dropDatabase();
(5)从指定主机上克隆数据库:
db.cloneDatabase(“127.0.0.1”);
将指定机器上的数据库的数据克隆到当前数据库
(6)从指定的机器上复制指定数据库数据到某个数据库:
db.copyDatabase("mydb", "temp", "127.0.0.1");
将本机的mydb的数据复制到temp数据库中
(7)修复当前数据库:
db.repairDatabase();
(8)查看当前使用的数据库:
db.getName();
db; db和getName方法是一样的效果,都可以查询当前使用的数据库
(9)显示当前db状态:
db.stats();
(10)当前db版本:
db.version();
(11)查看当前db的链接机器地址:
db.getMongo();
(二)用户相关:
(1)添加一个用户:
db.addUser("name");
db.addUser("userName", "pwd123", true);
添加用户、设置密码、是否只读
(2)数据库认证、安全模式:
db.auth("userName", "123123");
(3)显示当前所有用户:
show users;
(4)删除用户:
db.removeUser("userName");
(三)查询语法:
(1)普通查询:
db.collection.find(query,projection);
query:查询条件
projection:返回数据的要求(返回所有数据则省略即可)
例如:
{ ] };
"_id" : ObjectId("5e7a305a73060d717c5c7f67"), } };
"userId" : "12344",
"sex" : "男",
"userName" : "LJ",
"_class" : "com.richfit.richfit.model.SysUser"
}
其中 1 0 代表展示数据是否显示这个字段 1:显示 0:不显示
1:注意:1 0 不能同时出现混着用。
2:如果需要易读的方式读取则在后面加 pretty()
(2)高级查询:
排序:
distinct的使用:
把所有userName返回。
数据:(以下数据是可以直接在命令窗口操作的)
先把var 写入在insert
db.users.drop();
var user1 = {
"username" : "小五",
"address" : {
"aCode" : "411000",
"add" : "长沙"
},
"favorites" : {
"movies" : ["战狼","战狼2","阿凡达"],
"cites" : ["长沙","杭州","上海"]
},
"age" : 18,
"salary":NumberDecimal("108.09"),
"length" :1.79,
"comments" :[
{
"movies" : "战狼",
"content" : "评论1",
"commentTime" : ISODate("2017-02-06T04:26:18.354Z")
},
{
"movies" : "战狼",
"content" : "评论2",
"commentTime" : ISODate("2017-04-06T04:26:18.354Z")
},
{
"movies" : "倩女幽魂",
"content" : "评论3",
"commentTime" : ISODate("2017-02-06T04:26:18.354Z")
},
{
"movies" : "战狼2",
"content" : "评论4",
"commentTime" : ISODate("2017-04-06T04:26:18.354Z")
},
{
"movies" : "阿凡达",
"content" : "评论5",
"commentTime" : ISODate("2017-08-06T04:26:18.354Z")
},
{
"movies" : "肉蒲团",
"content" : "评论6",
"commentTime" : ISODate("2017-07-06T04:26:18.354Z")
},
{
"movies" : "西红柿首富",
"content" : "评论7",
"commentTime" : ISODate("2017-09-06T04:26:18.354Z")
},
{
"movies" : "万万没想到",
"content" : "评论8",
"commentTime" : ISODate("2017-04-06T04:26:18.354Z")
},
{
"movies" : "大黄蜂",
"content" : "评论9",
"commentTime" : ISODate("2017-07-06T04:26:18.354Z")
}
]
};
var user2 = {
"username" : "路飞",
"address" : {
"aCode" : "311000",
"add" : "东京"
},
"favorites" : {
"movies" : ["万万没想到","战狼","大黄蜂"],
"cites" : ["南京","东京","上海"]
},
"age" : 24,
"salary":NumberDecimal("7889.09"),
"length" :1.35,
"comments" :[
{
"movies" : "倩女幽魂",
"content" : "评论2",
"commentTime" : ISODate("2017-08-06T04:26:18.354Z")
},
{
"movies" : "肉蒲团",
"content" : "评论6",
"commentTime" : ISODate("2017-01-06T04:26:18.354Z")
}
]
};
var user3 ={
"username" : "擎天",
"address" : {
"aCode" : "411000",
"add" : "长沙"
},
"favorites" : {
"movies" : ["西红柿首富","肉蒲团","倩女幽魂"],
"cites" : ["东莞","深圳","东京"]
},
"age" : 22,
"salary":NumberDecimal("6666.66"),
"length" :1.85
};
var user4 = {
"username" : "四月",
"country" : "USA",
"address" : {
"aCode" : "411000",
"add" : "长沙"
},
"favorites" : {
"movies" : ["西红柿首富","功夫瑜伽","蝙蝠侠"],
"cites" : ["青岛","东莞","上海"]
},
"age" : 20,
"salary":NumberDecimal("6398.22"),
"length" :1.77
};
var user5 = {
"username" : "无双",
"country" : "UK",
"address" : {
"aCode" : "411000",
"add" : "东京"
},
"favorites" : {
"movies" : ["蜘蛛侠","无双","蝙蝠侠"],
"cites" : ["青岛","东莞","上海"]
},
"salary":NumberDecimal("1969.88")
};
var user6 = {
"username" : "克比",
"country" : "UK",
"address" : {
"aCode" : "411000",
"add" : "东京"
},
"favorites" : {
"movies" : ["无双","钢铁侠","蝙蝠侠"],
"cites" : ["青岛","东莞","上海"]
},
"salary":NumberDecimal("1969.88")
};
db.users.insert(user1);
db.users.insert(user2);
db.users.insert(user3);
db.users.insert(user4);
db.users.insert(user5);
db.users.insert(user6);
db.product.drop();
var product1 = {
"name" : "算法导论",
"price" : 128.00,
"category" : "book",
"tags" : [
"Algorithms",
"Introduction"
]
};
var product2 = {
"name" : "空气净化器",
"price" : 899.00,
"category" : "furniture",
"tags" : [
"MI"
]
};
var product3 = {
"name" : "Java编程思想",
"price" : 108.00,
"category" : "book",
"tags" : [
"Java",
"Introduction"
],
"author" : {
"name" : "Bruce Eckel",
"from" : "MindView"
}
};
db.product.insert(product1);
db.product.insert(product2);
db.product.insert(product3);
字符串数组查询:
对象数组查询: