天天看点

MongoDB操作MongoDB

MongoDB

数据库语句

注:(在 MongoDB 默认数据库测试。如果没有创建任何数据库,然后集合将被存储在测试数据库。)

1、 创建数据库

use DATABASE_NAME
           

2、 检查数据库列表

3、 删除数据库

db.dropDatabase()
           

集合操作

1、 创建集合

db.createCollection(name, options)
           
Name    String  要创建的集合名称
Options Document    (可选)指定有关内存大小和索引选项
           

2、 删除集合

db.COLLECTION_NAME.drop()
           

文档操作

1、 插入文档

db.COLLECTION_NAME.insert(document)
           

例如:

db.mycol.insert({
   _id: ObjectId(df78ad8902c),
   title: 'MongoDB Overview', 
   description: 'MongoDB is no sql database',
   by: 'tutorials yiibai',
   url: 'http://www.yiibai.com',
   tags: ['mongodb', 'database', 'NoSQL'],
   likes: 
})
           

2、 查询文档

* find()方法:

find() 方法将在非结构化的方式显示所有的文件。

db.COLLECTION_NAME.find()
           
  • pretty() 方法

    结果显示在一个格式化的方式,可以使用 pretty() 方法

db.mycol.find().pretty()
           
  • 例子
db.mycol.find().pretty()
{
   "_id": ObjectId(df78ad8902c),
   "title": "MongoDB Overview", 
   "description": "MongoDB is no sql database",
   "by": "tutorials yiibai",
   "url": "http://www.yiibai.com",
   "tags": ["mongodb", "database", "NoSQL"],
   "likes": "100"
}
           

*除了find() 方法外,还有一个 findOne() 法,返回一个文件。

*AND 在MongoDB中用法

在 find() 方法,如果通过多个键分离’,’,那么 MongoDB 处理 AND 条件。AND 基本语法如下所示

db.mycol.find({key1:value1, key2:value2}).pretty()
           
  • MongoDB中OR

    OR条件的基础上要查询文件,需要使用or关键字。OR 基本语法如下所示:

db.mycol.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()
           

3、MongoDB 更新文档

MongoDB的 update() 和 save() 方法用于更新文档的集合。 update()方法更新现有的文档值,而替换现有的文档通过的文件中 save() 方法。

*update()方法更新现有文档值。

db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
           

例子:

MongoDB默认将只更新单一的文件,来更新多个你需要设置参数置’multi’ 为true

*save() 方法替换现有的文档和通过新的文档 save() 方法

db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})
           

例子:

db.mycol.save(
   {
      "_id" : ObjectId(adf45ec7), "title":"Yiibai New Topic", "by":"Yiibai"
   }
)
           

3、MongoDB 删除文档

*remove() 方法

MongoDB的 remove() 方法用于从集合中删除文档。remove() 方法接受两个参数。第一个是删除criteria ,第二是justOne标志:

deletion criteria :(可选)删除标准,根据文件将被删除。

justOne : (可选)如果设置为true或1,然后只删除一个文件。

例子:

db.mycol.remove({'title':'MongoDB Overview'})
           

*删除只有一个

如果有多个记录且要删除的只有第一条记录,那么设置remove()方法中justOne参数

db.COLLECTION_NAME.remove(DELETION_CRITERIA,)
           

*删除所有文件

如果不指定删除条件,然后MongoDB将从集合中删除整个文件。这相当于SQL的truncate命令。

db.mycol.remove()