1.安装mongodb后,进入bin
2.mongod --dbpath=D:\mongodb\db
3.打开另一个cmd,执行mongo可以链接到test数据库
show collections//查看表
db.users.find();//查看所有的数据
db.dropDatabase(); 删除数据库
db.mytable.drop()//删除表
mongod 启动数据库进程
--dbpath 指定数据库的目录
--port 指定数据库的端口,默认是 27017
--bind_ip 绑定 IP
--directoryperdb 为每个 db 创建一个独立子目录
--logpath 指定日志存放目录
--logappend 指定日志生成方式(追加/覆盖)
--pidfilepath 指定进程文件路径,如果不指定,那么将不产生进程
文件
--keyFile 集群模式的关键标识
--cpu 周期性的显示 CPU 和 IO 的利用率
--journal 启用日志
--ipv6 启用 IPV6 支持
--nssize 指定.ns 文件的大小,单位 MB,默认是 16M,最大是 2GB
--maxConns 最大的并发连接数
11
--notablescan 不允许进行表扫描
--quota 限制每个数据库的文件个数,默认是 8 个
--quotaFiles 每个数据库的文件个数,配合—quota 参数
--noprealloc 关闭数据文件的预分配功能
????更多的参数选项利用 mongod –help 进行查看
4.use admin;//切换数据库
5.db.shutdowmServer();关闭mongodb服务
5.Timestamp类型从 1.8 版本开始支持, Timestamp 有一个特殊的用
法:timestamp 类型的字段必须是位于文档的前两位.看下面例子
//位于第三个字段
db.coll.insert({_id:1,x:2,y:new Timestamp()});
db.coll.findOne({_id:1});
{ "_id" : 1, "x" : 2, "y" : { "t" : 0, "i" : 0 } }
//位于第二个字段
db.coll.insert({_id:2,y:new Timestamp(),x:2});
db.coll.findOne({_id:2});
{ "_id" : 2, "y" : { "t" : 1306746538000, "i" : 1 }, "x" : 2 }
6.主键 通常用一个递增的序列来提供主键 或者利用 UUID
function counter(name) {
var ret = db.counters.findAndModify({query:{_id:name},
update:{$inc : {next:1}}, "new":true, upsert:true});
return ret.next;
}
db.users.insert({_id:counter("users"), name:"Sarah C."}) // _id : 1
db.users.insert({_id:counter("users"), name:"Bob D."}) // _id :2
7、关联
//查找
db.post.save({title:'MongoDB Manual',author:'sam'});
p = db.post.findOne();
{
"_id" : ObjectId("4de36b33282677bdc555a83a"),
"title" : "MongoDB Manual",
"author" : "sam"
}
//关联
db.authors.findOne({name:p.author});
{
"_id" : ObjectId("4de36c14282677bdc555a83b"),
"name" : "sam",
"age" : 24,
"email" : "sanlai_lee@lisanlai.cn"
}
8.利用 DBRef 关联
DBRef 关联语法
{ $ref : <collname>, $id : <idvalue>[, $db : <dbname>] }
x = { name : 'Biology' }
{ "name" : "Biology" }
db.courses.save(x)
x
{ "name" : "Biology", "_id" :
15
ObjectId("4b0552b0f0da7d1eb6f126a1") }
stu = { name : 'Joe', classes : [ new DBRef('courses',
x._id) ] }
// or we could write:
// stu = { name : 'Joe', classes :
[ {$ref:'courses',$id:x._id} ] }
db.students.save(stu)
stu
{
"name" : "Joe",
"classes" : [
{
"$ref" : "courses",
"$id" :
ObjectId("4b0552b0f0da7d1eb6f126a1")
}
],
"_id" : ObjectId("4b0552e4f0da7d1eb6f126a2")
}
stu.classes[0]
{ "$ref" : "courses", "$id" :
ObjectId("4b0552b0f0da7d1eb6f126a1") }
stu.classes[0].fetch()
{ "_id" : ObjectId("4b0552b0f0da7d1eb6f126a1"), "name" :
"Biology"}
9.索引建立
*****linux环境下配置*****
//配置文件
vi mongodb.conf
配置信息如下:
dbpath = /opt/mongodb-linux-x86_64-3.2.4/data #数据文件存放目录
logpath = /data/test/logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
nohttpinterface = true
//启动
./mongod --config mongodb.conf