当前位置:Gxlcms > 数据库问题 > mongodb的基本操作

mongodb的基本操作

时间:2021-07-01 10:21:17 帮助过:26人阅读

mongodb操作命令行形式

进入mongodb的命令行

保证安装并成功启动服务
启动服务用

mongod --dbpath .

进入mongodb客户端命令

mongo

查看当前存在的所有数据库

> show dbs
admin        0.000GB
config       0.000GB
local        0.000GB
spider_data  0.002GB

可以看到我有四个库admin,config,local,spider_data(这是我之前创建好的你的电脑没有这个。)
local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。慎用这三个库,一般情况下我们需要创建一个符合自己业务逻辑的库。像我就创建了spider_data这个库,下面我们看看如何创建数据库。

创建数据库

如果数据库不存在,则创建数据库,否则切换到指定数据库。
 这里我们是做一个测试所以用test_db作为测试数据库的名字。

> use test_db
switched to db test_db
> 

 输入db可以查看当前的数据库名.

> db
test_db
> 

此时输入show dbs会发现还是原来的几个库,我们给新创建的库,加入数据就可以显示了。

数据插入操作

如果集合不存在,插入操作将创建集合。
在集合中,具有唯一主键_id。如果在插入文件中未声明_id;MongoDB将自动使用ObjectIds作为_id

MongoDB提供了保存数据的方法一共有三个:

  1. db.collection.insertOne() 插入一条
  2. db.collection.insertMany() 插入多条
  3. db.collection.insert() 插入一条或者多条
    其中collection就是表名,这里我们在上面的test_data库里创建test这个表并插入数据。
    首先我们使用insertOne插入一条数据
> db.test.insertOne({‘id‘:11,‘name‘:‘daming1m‘})
{
    "acknowledged" : true,
    "insertedId" : ObjectId("5bb98a36cb094f7674e574ea")
}

使用inserMany插入多条,类型列表字典

> db.test.insertMany([{‘id‘:1,‘name‘:‘daming1m‘},{‘id‘:2,‘name‘:‘lisa1m‘}])
{
   "acknowledged" : true,
   "insertedIds" : [
       ObjectId("5bb989a4cb094f7674e574e8"),
       ObjectId("5bb989a4cb094f7674e574e9")
   ]
}

 使用insert可以插入一条和多条

> db.test.insert({‘id‘:123,‘name‘:‘daming‘})
WriteResult({ "nInserted" : 1 })
> db.test.insert({‘id‘:1231,‘name‘:‘daming1‘},{‘id‘:1241,‘name‘:‘lisa1‘})
WriteResult({ "nInserted" : 1 })

观察发现上面即使两条数据也是显示影响了一条,所以使用insert来插入多条的时候,注意json外面要使用[]

> db.test.insert([{‘id‘:123,‘name‘:‘daming‘},{‘id‘:124,‘name‘:‘lisa‘}])
BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 2,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]
})

关于insert和insertmany插入多条的操作的区别,目前不知道什么区别,有知道好心人麻烦告诉我下。

mongodb的基本操作

标签:业务逻辑   基本   启动服务   的区别   基本操作   insert   列表   mongodb   bpa   

人气教程排行