ITPub博客

首页 > 数据库 > NoSQL > mongodb系列-文档的插入和删除

mongodb系列-文档的插入和删除

原创 NoSQL 作者:a3zi 时间:2015-02-17 09:46:22 0 删除 编辑

文档插入方式一:

> db.mongo.insert({name:"jack",age: 30});

WriteResult({ "nInserted" : 1 })

> db.mongo.find();

{ "_id" : ObjectId("54ded72e0dc51419494b4565"), "name" : "jack", "age" : 30 }

文档插入方式二:

> j = { name : "mongo" };

{ "name" : "mongo" }

> t = { x : 3 };

{ "x" : 3 }

> i = {name : "jack"};

{ "name" : "jack" }

> db.things.save(j);

WriteResult({ "nInserted" : 1 })

> db.things.save(t);

WriteResult({ "nInserted" : 1 })

> db.things.save(i);

WriteResult({ "nInserted" : 1 })

> db.things.find();

{ "_id" : ObjectId("54ded4960dc51419494b4562"), "name" : "mongo" }

{ "_id" : ObjectId("54ded4ad0dc51419494b4563"), "x" : 3 }

{ "_id" : ObjectId("54ded6690dc51419494b4564"), "name" : "jack" }

我们已经把数据插入到表mongo和表things里面了。

当我们find()查询的时候,会发现文档里会自动生生一个字段:_id,

如"_id" : ObjectId("54ded4960dc51419494b4562")

在mongo中,集合都必须有??_id字段,默认是ObjectId,并且必须唯一,如果插入重复的值的话,就会抛出异常。当然也可以不为ObjectId

插入一个_id为1的数据:

> db.mongo.insert({_id:1,name:"wang",age: 20});

WriteResult({ "nInserted" : 1 })

再次插入一个_id为1的数据就会报错:

> db.mongo.insert({_id:1,name:"fang",age: 22});

WriteResult({

    "nInserted" : 0,

    "writeError" : {

       "code" : 11000,

       "errmsg" : "insertDocument :: caused by :: 11000 E11000 duplicate key error index: test.mongo.$_id_  dup key: { : 1.0 }"

    }

})

我们查询mongo表中的内容,_id字段可以不为ObjectId:

> db.mongo.find();

{ "_id" : ObjectId("54ded72e0dc51419494b4565"), "name" : "jack", "age" : 30 }

{ "_id" : 1, "name" : "wang", "age" : 20 }

> 

文档的删除:

> db.mongo.find();

{ "_id" : ObjectId("54ded72e0dc51419494b4565"), "name" : "jack", "age" : 30 }

{ "_id" : 1, "name" : "wang", "age" : 20 }

删除name值为wang的文档:

> db.mongo.remove({"name":"wang"})

WriteResult({ "nRemoved" : 1 })

> db.mongo.find();

{ "_id" : ObjectId("54ded72e0dc51419494b4565"), "name" : "jack", "age" : 30 }

> 

删除整个文档,但不是删除collection本身和索引

> db.mongo.insert({_id:1,name:"fang",age: 22});

WriteResult({ "nInserted" : 1 })

> db.mongo.find();

{ "_id" : ObjectId("54ded72e0dc51419494b4565"), "name" : "jack", "age" : 30 }

{ "_id" : 1, "name" : "fang", "age" : 22 }

> db.mongo.remove({})

WriteResult({ "nRemoved" : 2 })

> show collections

mongo

system.indexes

things

> db.mongo.find();

> 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29806344/viewspace-1437675/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-08-15

  • 博文量
    45
  • 访问量
    228899