|
文档插入方式一:
>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();
> |
|
|