数据操作
插入一条
> db.a.insert({
name:'张三',age:18})
WriteResult({
"nInserted" : 1 })
> dict1 = {
name:'李四'}
{
"name" : "李四" }
> dict1.gender = '男'
男
> db.a.insert(dict1)
WriteResult({
"nInserted" : 1 })
查找所有
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张三", "age" : 18 }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男" }
自己指定id
> dict2 = {
name:'hello',_id:123}
{
"name" : "hello", "_id" : 123 }
> db.a.insert(dict2)
WriteResult({
"nInserted" : 1 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张三", "age" : 18 }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男" }
{
"_id" : 123, "name" : "hello" }
更新
db.集合名.update(
查询条件(相当于之前的where),
更新操作符(相当于更新语句的set),
多条数据的更新(默认是false,如果全部更新,则为true)
)
> db.a.update({
_id:123},{
name:'王五'})
WriteResult({
"nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张三", "age" : 18 }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男" }
{
"_id" : 123, "name" : "王五" }
全文档更新
如果没有特殊指定,则新建的内容会对原始的内容进行覆盖
> db.a.update({
name:'张三'},{
name:'张山'})
WriteResult({
"nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张山" }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男" }
{
"_id" : 123, "name" : "王五" }
指定字段的更新
db.集合名.update(
{},
{$set,{筛选条件}}
)
> db.a.insert({
name:'张三',age:18})
WriteResult({
"nInserted" : 1 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张山" }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男" }
{
"_id" : 123, "name" : "王五" }
{
"_id" : ObjectId("5e04a2858f65817d4316f734"), "name" : "张三", "age" : 18 }
>
> db.a.update({
name:'张三'},{
$set:{
age:38}})
WriteResult({
"nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张山" }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男" }
{
"_id" : 123, "name" : "王五" }
{
"_id" : ObjectId("5e04a2858f65817d4316f734"), "name" : "张三", "age" : 38 }
修改多条
> db.a.update({
},{
$set:{
age:100}})
WriteResult({
"nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张山", "age" : 100 }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男" }
{
"_id" : 123, "name" : "王五" }
{
"_id" : ObjectId("5e04a2858f65817d4316f734"), "name" : "张三", "age" : 38 }
> db.a.update({
},{
$set:{
age:100}},{
multi:true})
WriteResult({
"nMatched" : 4, "nUpserted" : 0, "nModified" : 3 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张山", "age" : 100 }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男", "age" : 100 }
{
"_id" : 123, "name" : "王五", "age" : 100 }
{
"_id" : ObjectId("5e04a2858f65817d4316f734"), "name" : "张三", "age" : 100 }
删除
语法规则
db.集合名.remove(
{
筛选条件},
{
justOne:true}
)
justOne
:删除符合条件的一条或者多条,默认删除多条
> db.a.remove({
_id:123},{
justOne:true})
WriteResult({
"nRemoved" : 1 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张山", "age" : 100 }
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男", "age" : 100 }
{
"_id" : ObjectId("5e04a2858f65817d4316f734"), "name" : "张三", "age" : 100 }
查询
语法规则:
db.集合名.find({条件})
查找出所有符合条件的
> db.a.find({
gender:'男'})
{
"_id" : ObjectId("5e049ecd8f65817d4316f733"), "name" : "李四", "gender" : "男", "age" : 100 }
多添加几条数据
> db.a.insert({
name:'张一毛',age:18,gender:'girl'})
WriteResult({
"nInserted" : 1 })
> db.a.insert({
name:'张一毛',age:36,gender:'girl'})
WriteResult({
"nInserted" : 1 })
> db.a.insert({
name:'张二毛',age:46,gender:'girl'})
WriteResult({
"nInserted" : 1 })
> db.a.insert({
name:'张三毛',age:12,gender:'boy'})
WriteResult({
"nInserted" : 1 })
> db.a.find()
{
"_id" : ObjectId("5e049e798f65817d4316f732"), "name" : "张山", "age