时间:2021-07-01 10:21:17 帮助过:26人阅读
//查看有哪些数据库
> show dbs
local 0.078GB
mydb 0.078GB
//use操作将切换到一个数据库 如果数据库存在将直接切换 如果不存在 那么会在切换之后,第一次执行新增修改操作的时候去创建这个数据库
> use newdb
switched to db newdb
//此时还没有创建
> show dbs
local 0.078GB
mydb 0.078GB
> db.persion.insert({age:10})
WriteResult({ "nInserted" : 1 })
//数据库已经创建
> show dbs
local 0.078GB
mydb 0.078GB
newdb 0.078GB
//删除数据库
> db.dropDatabase()
{ "dropped" : "newdb", "ok" : 1 }
> show dbs
local 0.078GB
mydb 0.078GB
> use mydb
switched to db mydb
//查看当前数据库的所有集合 因为是新数据库所以为空
> show tables
//插入一条数据 这里会自动插入一个集合person
> db.person.insert({name:‘zjf‘,age:30})
WriteResult({ "nInserted" : 1 })
//查看所有集合 已经有了person (system.indexes是系统产生的)
> show tables
person
system.indexes
//删除集合
> db.person.drop()
true
> show tables
system.indexes
//使用db.collection.insert()语法
> db.person.insert({name:‘zjf‘,age:30})
WriteResult({ "nInserted" : 1 })
> db.person.find()
{ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 30 }
update() 方法用于更新已存在的文档。语法格式如下:
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
参数说明:
> db.person.insert({name:‘xhj‘,age:30})
WriteResult({ "nInserted" : 1 })
> db.person.insert({name:‘zzj‘,age:30})
WriteResult({ "nInserted" : 1 })
> db.person.find()
{ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 30 }
{ "_id" : ObjectId("592ffe972108e8e79ea902b1"), "name" : "xhj", "age" : 30 }
{ "_id" : ObjectId("592ffe972108e8e79ea902b2"), "name" : "zzj", "age" : 30 }
//更新年龄30的为31(尼玛又过了一年)
> db.person.update({age:30},{$set:{age:31}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
//因为默认的参数multi 为false 所以只更新了一条
> db.person.find()
{ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 31 }
{ "_id" : ObjectId("592ffe972108e8e79ea902b1"), "name" : "xhj", "age" : 30 }
{ "_id" : ObjectId("592ffe972108e8e79ea902b2"), "name" : "zzj", "age" : 30 }
//加上multi:true 这个就类似于关系型数据库的update了
> db.person.update({age:30},{$set:{age:31}},{multi:true})
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })
> db.person.find()
{ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 31 }
{ "_id" : ObjectId("592ffe972108e8e79ea902b1"), "name" : "xhj", "age" : 31 }
{ "_id" : ObjectId("592fff812108e8e79ea902b2"), "name" : "zzj", "age" : 31 }
//根据单个记录的save来更新 这个时候要有_id作为主键 对单条数据进行更新的时候加了单独的save方法 而不是使用update({ "_id" :ObjectId("592ffd872108e8e79ea902b0")})这种方式。是把单条数据作为一个对象来看待了。
> db.person.save({ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 30 })
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.person.find()
{ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 30 }
{ "_id" : ObjectId("592ffe972108e8e79ea902b1"), "name" : "xhj", "age" : 31 }
{ "_id" : ObjectId("592fff812108e8e79ea902b2"), "name" : "zzj", "age" : 31 }
remove() 方法的基本语法格式如下所示:
db.collection.remove(
<query>,
<justOne>
)
如果你的 MongoDB 是 2.6 版本以后的,语法格式如下:
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
参数说明:
> db.person.find()
{ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 30 }
{ "_id" : ObjectId("592ffe972108e8e79ea902b1"), "name" : "xhj", "age" : 31 }
{ "_id" : ObjectId("592fff812108e8e79ea902b2"), "name" : "zzj", "age" : 31 }
> db.person.remove({age:31})
WriteResult({ "nRemoved" : 2 })
> db.person.find()
{ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 30 }
MongoDB 查询数据的语法格式如下:
db.collection.find(query, projection)
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
>db.col.find().pretty()
> db.person.find({name:‘zjf‘})
{ "_id" : ObjectId("592ffd872108e8e79ea902b0"), "name" : "zjf", "age" : 30 }
Mongodb的基本操作-数据库 集合 文档的增删改查
标签:mat 对象 查询条件 库存 result project 关系 根据 记录