Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在MongoDb中创建人类可读的id_Python_Mongodb - Fatal编程技术网

Python 如何在MongoDb中创建人类可读的id

Python 如何在MongoDb中创建人类可读的id,python,mongodb,Python,Mongodb,我需要为集合中的文档创建类似Mongo(1,2,3,4,…,n+1)的人类可读id。有没有办法通过原生mongo工具创建它们,或者我必须在程序逻辑中创建它们。 p、 我使用mongoengine作为ORM。 传统的数据库通常使用递增的序列号来 主键。在MongoDB中,首选的方法是使用对象ID 相反其概念是,在一个非常大的机器集群中 创建对象ID比创建全局、统一的对象ID更容易 增加序列号 但是,有时您可能需要序列号。你可以这样做 创建“计数器”文档并使用 代码示例(来自所附链接): 同时检查

我需要为集合中的文档创建类似Mongo(1,2,3,4,…,n+1)的人类可读id。有没有办法通过原生mongo工具创建它们,或者我必须在程序逻辑中创建它们。 p、 我使用mongoengine作为ORM。

传统的数据库通常使用递增的序列号来 主键。在MongoDB中,首选的方法是使用对象ID 相反其概念是,在一个非常大的机器集群中 创建对象ID比创建全局、统一的对象ID更容易 增加序列号

但是,有时您可能需要序列号。你可以这样做 创建“计数器”文档并使用

代码示例(来自所附链接):

同时检查

传统的数据库通常使用递增的序列号来 主键。在MongoDB中,首选的方法是使用对象ID 相反其概念是,在一个非常大的机器集群中 创建对象ID比创建全局、统一的对象ID更容易 增加序列号

但是,有时您可能需要序列号。你可以这样做 创建“计数器”文档并使用

代码示例(来自所附链接):


还可以查看

太好了,我是懒惰的日志,不能进入正式文档)太好了,我是懒惰的日志,不能进入正式文档)
function counter(name) {
    var ret = db.counters.findAndModify({query:{_id:name}, update:{$inc : {next:1}}, "new":true, upsert:true});
    // ret == { "_id" : "users", "next" : 1 }
    return ret.next;
}

db.users.insert({_id:counter("users"), name:"Sarah C."}) // _id : 1
db.users.insert({_id:counter("users"), name:"Bob D."}) // _id : 2