`
2014马年
  • 浏览: 121605 次
  • 性别: Icon_minigender_1
  • 来自: 晋中
社区版块
存档分类
最新评论

pymong 实现自增长id

阅读更多

1.解决方案官网提供的

http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/

大概意思就是新建一个表,专门存最大userid。每次取一个id,就+1,这样也不会重复

 

2.pymongo 实现

代码如下,注意,第一次是返回{},然后是 1-2-3...

 

print db.usercounter.find_and_modify({"_id": "users"}, update={ "$inc": {'count': 1}},upsert=True)

得到的id就可以用了,而且也不用担心多线程的问题

不过这一个用户表要维护两个表,是有点不方便。

差不多用就行了,为一个问题浪费太多时间不值得。

 

3.关于find_and_modify 方法:

http://api.mongodb.org/python/current/api/pymongo/collection.html

find_and_modify(query={}update=Noneupsert=Falsesort=Nonefull_response=False**kwargs)

 

 

 

 

 

 

 

 

 

 

0
0
分享到:
评论

相关推荐

    mysql实现char类型主键自增长

    本文将深入探讨如何在MySQL中利用触发器实现CHAR类型主键的自增长功能,这将为我们提供一种灵活且独特的主键生成策略。 ### MySQL中CHAR类型主键自增长的原理 在传统的数据库设计中,我们通常使用整型数据类型作为...

    mysql的插入问题 怎么获得自动增长的ID

    1. **理解自动增长ID的工作原理** 2. **在删除记录后重新插入时ID的变化情况** 3. **不同存储引擎(如MyISAM与InnoDB)下自动增长ID的行为差异** 4. **通过Java程序使用JDBC获取刚插入记录的ID** #### 一、理解自动...

    OracleID自增长

    ### Oracle ID自增长实现方法详解 #### 一、引言 在使用Oracle数据库进行软件开发时,经常会遇到需要为表中的记录自动生成唯一标识符(ID)的需求。而在Oracle数据库中,与MySQL不同的是,它并没有提供直接的自...

    oracle字段自增长

    在 Oracle 10g 的 EM 操作界面中,只需按照上图配置即可实现自增长序列,数据库端设置完成。在插入数据时,自增长字段可由空值 '' 或 null 代替,如果 insert 语句中列出了所插入的字段,如 insert into list(name) ...

    设置db2 字段自增长

    在DB2中,实现自增长有多种方式,除了`GENERATED ALWAYS AS IDENTITY`特性外,还可以使用`Sequence`。这两种方法各有优缺点: ##### 4.1 Identity - 优点:使用简单,每个会话只允许一个Identity,避免了并发问题。...

    oracle触发器实现主键自动增长

    在Oracle数据库中,实现主键自动增长是一种常见的需求,尤其在设计高并发、大数据量的系统时,确保每个记录都有一个唯一且连续的标识符变得至关重要。本文将深入探讨如何利用Oracle触发器来实现这一功能,同时也会...

    分布式自增长ID-雪花算法

    分布式自增长ID-雪花算法

    oracle中用序列实现自动增长值

    在Oracle数据库系统中,与SQL Server中的`IDENTITY`特性类似,我们可以通过使用序列(Sequences)来实现字段的自动增长值。序列是一种特殊的数据库对象,它可以生成一系列有序的数值,通常用于为表的主键字段提供...

    SQL Server中实现字段值自动增长且连续

    ### SQL Server中实现字段值自动增长且连续的关键知识点 #### 引言 在数据库管理中,确保特定字段的值能够自动增长且保持连续性对于数据的有序性和完整性至关重要。SQL Server提供了多种方法来实现这一需求,包括...

    oracle主键自动增长

    这里直接指定了`ID`字段的值,如果想要实现自动增长,应该使用前面提到的序列和触发器方案。 #### 五、总结 本文详细介绍了如何在Oracle数据库中实现主键的自动增长功能,主要包括了序列和触发器的使用方法。通过...

    oracle设置主外键即主键序列自动增长

    由于 `groupinfo_id` 是主键并启用了自动增长,因此在插入数据时不需要指定 `groupinfo_id` 的值,系统会自动为其分配一个唯一的ID。 ##### 2. 查询数据 ```sql SELECT * FROM groupinfo; ``` 执行查询后,可以查看...

    如何为oracle中的表增加自动增长列.pdf

    在Oracle数据库中,表的自动增长列通常是指使用序列(SEQUENCE)或者使用Oracle提供的自动增长数据类型(例如:IDENTITY或者GENERATED AS IDENTITY),以实现表中某列值能够随着记录的增加而自动递增。本文将介绍...

    设定Access数据库自增长字段初始值

    ### 设定Access数据库自增长字段初始值 在Microsoft Access数据库管理系统中,自增长字段是一种非常实用的功能,尤其在创建主键或唯一标识符时极为常见。本文将详细介绍如何设置Access数据库中的自增长字段初始值,...

    oracle 触发器方式实现行ID自增加

    这种实现方法确保了即使在多用户环境中,行ID也能保持唯一且顺序增长。 总结起来,Oracle数据库通过触发器和序列对象相结合,能有效实现行ID的自增加功能。这种技术在需要自动维护唯一标识符的场景下非常实用,例如...

    java快速ID自增器

    1. **原子类**:Java的`AtomicLong`类是线程安全的,可以用于实现自增ID。每次获取新ID时,只需要调用`incrementAndGet()`方法,该方法会原子性地增加当前值并返回新的值。 2. **数据库序列**:如果使用的是支持...

    oracle中的ID号实现自增长的方法

    主要介绍了oracle中的ID号如何实现自增长,利用序列产生主键值,需要的朋友可以参考下

    SQL Server中实现字段值自动增长且连续.pdf

    本文将介绍在SQL Server数据库中实现字段值自动增长且连续的两种方法,并详细阐述各自的实现方式、优缺点及适用场景。 首先,SQL Server中实现字段值自动增长的传统方法是通过定义字段的identity属性。Identity属性...

    编号自动增长

    假设我们需要创建一张名为`Orders`的表,并为它添加两个字段:`OrderID`(作为主键,用于存储自增长的编号)和`CustomerName`(用于存储客户名称)。 ```sql CREATE TABLE Orders ( OrderID int NOT NULL IDENTITY...

    oracle设置主键自动增长

    为了实现主键自动增长,我们需要先创建一个序列。序列是一种用于生成一系列数值的对象,可以用于自动为主键生成唯一的值。 ```sql CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次增加的值 START WITH 1 -- ...

Global site tag (gtag.js) - Google Analytics