zoukankan      html  css  js  c++  java
  • MongoDB 对象主键 ObjectId

    常规主键

    生成

    > ObjectId()
    ObjectId("5d7f4c36a7b5867462dee50e")
    

    提取生成的时间

    > ObjectId("5d7f4c36a7b5867462dee50e").getTimestamp()
    ISODate("2019-09-16T08:47:50Z")
    

    复合主键

    主键也可以使用对象来表示,即复合主键。

    创建复合主键文档

    > db.accounts.insert({ _id:{ "name" : "david", "balance" : 200 },"name" : "charlie", "balance" : 500 })
    WriteResult({ "nInserted" : 1 })
    

    复合主键文档ID重复性判断

    > db.accounts.insert({ _id:{ "name" : "david", "balance" : 200 },"name" : "charlie", "balance" : 500 })
    WriteResult({
     "nInserted" : 0,
     "writeError" : {
      "code" : 11000,
      "errmsg" : "E11000 duplicate key error collection: test.accounts index: _id_ dup key: { _id: { name: "david", balance: 200.0 } }"
     }
    })
    # 复合主键对象key的顺序、value值、value值的类型等完全一样,方认为复合主键冲突。
    > db.accounts.insert({ _id:{ "balance" : 200, "name" : "david" },"name" : "charlie", "balance" : 500 })
    WriteResult({ "nInserted" : 1 })
    
  • 相关阅读:
    pickle模块使用
    Graphviz安装教程
    Redis常用命令
    MongoDB和Redis的区别
    UVA-1572
    poj2352
    poj1195
    Codeforces Round #430 (Div. 2)
    Codeforces Round #431 (Div. 2) B. Tell Your World
    poj3278 【BFS】
  • 原文地址:https://www.cnblogs.com/zy108830/p/12639560.html
Copyright © 2011-2022 走看看