【问题标题】:mongodb second userid field with auto increment具有自动增量的mongodb第二个用户ID字段
【发布时间】:2021-06-13 09:52:34
【问题描述】:

我想在我的 mongodb 集合中有一个额外的 ID 字段。 objectId 非常适合获取唯一 ID,但我需要较短的 ID 来进行用户管理。这些 ID 应类似于 10001、10002 等。是否可以通过自动增量获得这些?

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    您可以通过创建自己的 javascript 函数并创建一个新集合来跟踪下一个序列号。有不同的教程可用于实现。一个可以帮助您获取最后一个序列并递增它的函数:

    //create a new collection in Mongo Shell
    db.createCollection("collectionName");
    db.collectionName.insert({_id:"productid",sequence_value:0})
    
    function geSequenceValue(sequenceName){
       var sequenceDocument = db.CollectionName.findAndModify({
          query:{_id: sequenceName },
          update: {$inc:{sequence_value:1}},
          new:true
       });
       return sequenceDocument.sequence_value;
    }
    
    //MongodB shell command
    >db.collectionName.insert({
       "_id":getNextSequenceValue("productid"),
       "product_name":"IPhone",
       "category":"Mobile"
    })
    
    

    作为参考,您可以关注检查this

    【讨论】:

    猜你喜欢
    • 2016-10-31
    • 1970-01-01
    • 2019-02-23
    • 2014-10-30
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-20
    相关资源
    最近更新 更多