设为首页 加入收藏

TOP

MongoDB 知识要点一览(一)
2015-11-21 01:25:02 来源: 作者: 【 】 浏览:0
Tags:MongoDB 知识 要点 一览
1、启动mongoDb 数据库
?
  进入mongoDB的安装目录,执行如下命令
?
  C:\Program Files\MongoDB\Server\3.0\bin>mongod.exe --dbpath "C:\Program Files\MongoDB\Server\3.0\db"
?
  启动成功后在打开一个cmd窗口,进入mongoDB的安装目录,执行mongo.exe,默认进入test库
?
?
2、use DATABASE_NAME 用于创建数据库。该命令如果数据库不存在,将创建一个新的数据库, 否则将返回现有的数据库。
?
3、如果想查询数据库列表,那么使用命令 show dbs ;要显示的数据库,需要至少插入一个文档进去。MongoDB的默认数据库是test。 如果没有创建任何数据库,那么集合将被保存在测试数据库。
?
4、db.dropDatabase() 命令用于删除现有的数据库。
?
如果想删除新的数据库 , 那么 dropDatabase() 命令将如下所示:
?
?
>use mydb
switched to db mydb
>db.dropDatabase()
>{ "dropped" : "mydb", "ok" : 1 }
>
5、db.createCollection(name, options) 用于创建集合。 在命令中, name 是要创建集合的名称。 Options 是一个文档,用于指定集合的配置
options:
    字段     类型 ? ? ? ? ? ? ?描述
  capped     Boolean ? ? (可选)如果为true,它启用上限集合。上限集合是一个固定大小的集合,当它达到其最大尺寸会自动覆盖最老的条目。 如果指定true,则还需要指定参数的大小。
  autoIndexID  Boolean ? ? (可选)如果为true,自动创建索引_id字段。默认的值是 false.
  size       number ? ? (可选)指定的上限集合字节的最大尺寸。如果capped 是true,那么还需要指定这个字段。
  max       number ? ? (可选)指定上限集合允许的最大文件数。
?
在MongoDB中并不需要创建集合。 当插入一些文档 MongoDB 会自动创建集合。
?
?
>db.yiibai.insert({"name" : "yiibai"})
>show collections
mycol
mycollection
system.indexes
yiibai
>
?
6、删除集合MongoDB 的 db.COLLECTION_NAME.drop() 用于从数据库中删除集合。
?
下面给出的例子将删除给定名称的集合:mycollection
?
>use mydb
switched to db mydb
>db.mycollection.drop()
true
>
7、插入文档:db.COLLECTION_NAME.insert(document)
?
?
>db.mycol.insert({
_id: ObjectId(7df78ad8902c),
title: 'MongoDB Overview',?
description: 'MongoDB is no sql database',
by: 'yiibai tutorials',
url: 'http://www.yiibai.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
?
这里 mycol 是我们的集合名称,它是在之前的教程中创建。如果集合不存在于数据库中,那么MongoDB创建此集合,然后插入文档进去。
?
在如果我们不指定_id参数插入的文档,那么 MongoDB 将为文档分配一个唯一的ObjectId。
_id 是12个字节十六进制数在一个集合的每个文档是唯一的。 12个字节被划分如下:
_id: ObjectId(4 bytes timestamp, 3 bytes machine id, 2 bytes process id, 3 bytes incrementer)
要以单个查询插入多个文档,可以通过文档 insert() 命令的数组方式。
db.mycol.insert({},{},{},……)
?
8、查询文档:db.COLLECTION_NAME.find(),find() 方法将在非结构化的方式显示所有的文件。 如果显示结果是格式化的,那么可以用pretty() 方法。
语法
?
>db.mycol.find().pretty()
除了find()方法还有findOne()方法,仅返回一个文档。
?
?
MongoDB的Where条件:
    操作            ? ? ? ? ? ? ? ? 语法 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 示例 RDBMS等效语句
    Equality(等于)      ? ? ? ?{:} ? ? ? ? ? ? ? ? ? ? ? ? ? ?db.mycol.find({"by":"yiibai tutorials"}).pretty() where by = 'yiibai tutorials'
    Less Than(小于)    ? ? ? ? ? {:{$lt:}} ? ? ? ? ? ? ? ? ? db.mycol.find({"likes":{$lt:50}}).pretty() where likes < 50
    Less Than Equals(小于等于) {:{$lte:}} ? ? ? ? ? ? ? ? ?db.mycol.find({"likes":{$lte:50}}).pretty() where likes <= 50
    Greater Than(大于) ? ? ? ? ? ?{:{$gt:}} ? ? ? ? ? ? ? ? ? db.mycol.find({"likes":{$gt:50}}).pretty() where likes > 50
    Greater Than Equals(大于等于) {:{$gte:}} ? ? ? ? ? ? db.mycol.find({"likes":{$gte:50}}).pretty() where likes >= 50
    Not Equals(不等于) ? ? ? ? ? ?{:{$ne:}} ? ? ? ? ? ? ? ? ? ?db.mycol.find({"likes":{$ne:50}}).pretty() where likes != 50
?
?
MongoDB的and条件:
在 find()方法,如果您传递多个键通过","将它们分开,那么MongoDB对待它就如AND条件一样。基本语法如下所示:
?
>db.mycol.find({key1:value1, key2:value2}).pretty()
MongoDB的or条件:
?
要查询基于OR条件的文件,需要使用$or关键字。OR的基本语法如下所示:
?
>db.mycol.find({
$or: [
{key1: value1}, {key2:value2}
]
}).pretty()
例子
?
等效于SQL的where子句:
首页 上一页 1 2 3 4 下一页 尾页 1/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇在R中使用支持向量机(SVM)进行.. 下一篇MongoDb入门篇(一)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: