mongodb的基本操作

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插入多条的操作的区别,目前不知道什么区别,有知道好心人麻烦告诉我下。

posted @ 2018-10-07 12:41  公众号python学习开发  阅读(150)  评论(0编辑  收藏  举报