zoukankan      html  css  js  c++  java
  • MongoDB快速入门学习笔记3 MongoDB的文档插入操作

    1、文档的数据存储格式为BSON,类似于JSON。MongoDB插入数据时会检验数据中是否有“_id”,如果没有会自动生成。
    shell操作有insert和save两种方法。当插入一条数据有“_id”值,并且现在集合中已经有相同的值,使用insert插入时插入不进去,使用save时,会更新数据。

     1 > db.student.drop()
     2 true
     3 > db.student.insert({"_id": 1, "name":"zhangsan", "age": 28})
     4 WriteResult({ "nInserted" : 1 })
     5 > db.student.find()
     6 { "_id" : 1, "name" : "zhangsan", "age" : 28 }
     7 > db.student.insert({"_id": 1, "name":"zhangsan", "age": 27})
     8 WriteResult({
     9         "nInserted" : 0,
    10         "writeError" : {
    11                 "code" : 11000,
    12                 "errmsg" : "E11000 duplicate key error collection: zyhdb.student index: _id_ dup key: { : 1.0 }"
    13         }
    14 })
    15 > db.student.find()
    16 { "_id" : 1, "name" : "zhangsan", "age" : 28 }
    17 > db.student.save({"_id": 1, "name":"zhangsan", "age": 27})
    18 WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
    19 > db.student.find()
    20 { "_id" : 1, "name" : "zhangsan", "age" : 27 }

    2、批量插入,网上的文档都说不能MongoDB不支持批量插入,现在试过可以,应该是目前的版本支持批量插入了。

     1 > db.student.insert([{"_id": 2, "name": "lisi"},{"_id": 3, "name": "wangwu"}, {"_id": 4, "name": "zhaoliu", "age": 28}])
     2 BulkWriteResult({
     3 "writeErrors" : [ ],
     4 "writeConcernErrors" : [ ],
     5 "nInserted" : 3,
     6 "nUpserted" : 0,
     7 "nMatched" : 0,
     8 "nModified" : 0,
     9 "nRemoved" : 0,
    10 "upserted" : [ ]
    11 })
    12 > db.student.find()
    13 { "_id" : 1, "name" : "zhangsan", "age" : 27 }
    14 { "_id" : 2, "name" : "lisi" }
    15 { "_id" : 3, "name" : "wangwu" }
    16 { "_id" : 4, "name" : "zhaoliu", "age" : 28 }

     

    3、循环插入:

     1 > for(var i=0; i<10; i++){db.fortest.insert({num: i})}
     2 WriteResult({ "nInserted" : 1 })
     3 > db.fortest.find()
     4 { "_id" : ObjectId("57469e80142cea1d9aeabab5"), "num" : 0 }
     5 { "_id" : ObjectId("57469e80142cea1d9aeabab6"), "num" : 1 }
     6 { "_id" : ObjectId("57469e80142cea1d9aeabab7"), "num" : 2 }
     7 { "_id" : ObjectId("57469e80142cea1d9aeabab8"), "num" : 3 }
     8 { "_id" : ObjectId("57469e80142cea1d9aeabab9"), "num" : 4 }
     9 { "_id" : ObjectId("57469e80142cea1d9aeababa"), "num" : 5 }
    10 { "_id" : ObjectId("57469e80142cea1d9aeababb"), "num" : 6 }
    11 { "_id" : ObjectId("57469e80142cea1d9aeababc"), "num" : 7 }
    12 { "_id" : ObjectId("57469e80142cea1d9aeababd"), "num" : 8 }
    13 { "_id" : ObjectId("57469e80142cea1d9aeababe"), "num" : 9 }
  • 相关阅读:
    Node.js安装及环境配置之Windows篇
    C++ STL中Map的按Key排序和按Value排序
    设计模式之观察者模式(c++)
    C/C++回调函数
    c++ string详解 assign
    C++ unsigned long 转化为 unsigned char*
    unsigned char 与unsigned long互换
    微信小程序的登陆流程详解
    谷歌帮:中国最牛的创业帮派
    创业公司打造顶级团队的七个方法
  • 原文地址:https://www.cnblogs.com/zhangyanhu/p/5532688.html
Copyright © 2011-2022 走看看