xglys 发表于 2015-12-22 15:19:52

mongodb系列

  文档插入方式一:
  >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();
  > 
页: [1]
查看完整版本: mongodb系列