C#实现mongodb自增列的使用

创建一个集合存放_id

db.createCollection("counters")

加入需要自增的字段

{
  "_id":"productid",
  "sequence_value": 0
}

然后添加自增的js方法在mongodb库 getNextSequenceValue

function (sequenceName){
   var sequenceDocument = db.counters.findAndModify(
      {
         query:{_id: sequenceName },
         update: {$inc:{sequence_value:1}},
         new:true
      });
   return sequenceDocument.sequence_value;
}

C#中代码调用

  model.id = Convert.ToInt32(_dbs.DataBase.Eval("getNextSequenceValue(‘productid‘)").AsBsonValue);

执行完之后,再去看一下counters,是不是自增了

时间: 2025-02-01 08:06:09

C#实现mongodb自增列的使用的相关文章

node 通过mongoose实现 mongodb的增删改

node 通过mongoose实现 mongodb的增删改 新建文件test.js 内容如下: var mongoose = require('mongoose') , Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/test'); var BlogSchema = new Schema({ id : {type : Number, index : true} ,title : {type : String} });

mysql中InnoDB表为什么要建议用自增列做主键

InnoDB引擎表的特点 1.InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: (1)所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; (2)不可能在非叶子结点命中; (3)非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层; 2.如果我们定义了主键(PRIMARY KEY),那么InnoDB会选择主键作为聚集索引.如果没有显式定义主键,则InnoDB会选择第一个不包含有NU

Scala对MongoDB的增删改查操作

=========================================== 原文链接: Scala对MongoDB的增删改查操作 转载请注明出处! =========================================== 依赖环境:jdk1.8.Scala 2.12.idea mongodb Driver:3.1.1.注意,mongo for scala的驱动涉及多个jar(如下图),依赖于mongo-java-driver.jar 这里使用的sbt管理依赖,直接在bu

程矢Oracle PowerDesigner中生成Oracle版本主键和自增列

Oracle中如何新建自增列,总的来说需要建立序列,并把这个序列付给某一列,重建触发器即可. 第一步,打开PD,新建一个PDM文档,然后新建一个表,如图所示: 第二步,创建一个序列.在[Model]-[Sequence]打开序列列表窗口,新建一个序列.然后打开序列的属性设置项[physical Options],进行如下设置,点击确定,序列建立完毕. 第三步,将刚刚创建的序列应用到表的主键列中,如图所示:点击确定, 点击确定,至此,自动创建了一个触发器,把序列的值添加到主键中.

MongoDB(三)——增删改查

MongoDB作为非关系型数据库,还是传统数据库的增删改查有很大的区别的,这里只是将知识点进行了一下提纲挈领,实际用的时候,我们百度一下详细用法即可.先看大的几个方面: 一,对于里边的插入和删除不再过多赘述,相对来说知识点比较少.先来看一下更新,常用操作还是非常有用的,需要我们根据实际情况灵活运用,这里只是提出了知识点,需要百度出例子来学习使用: 2,查询也是一样,看一下知识点的汇总,其实用几个,还是有规律的,比较容易记录的: 3,看一下固定集合Capped Collection:顾名思义是有着

Hibernate自增列保存失败的问题

author: hiu 最近由ibatis转用Hibernate,期间遇到了一系列的问题,今天又遇到了个问题,是因为自增列的问题导致保存时报错,现在记录下来,以便日后忘记时查看 这个问题其实是使用myEclipse生成表的实体类时,自增列的注解错误导致的. 问题原因:利用myEclipse的Hibernate Reverse Engineening生成的实体类自增列注解设置了在主键keyjobno上,而不是对应的 id 列上 解决办法 :将自增列注解设置在对应的 自增列id上 数据库employ

innodb 自增列重复值问题

1 innodb 自增列出现重复值的问题 先从问题入手,重现下这个bug use test; drop table t1; create table t1(id int auto_increment, a int, primary key (id)) engine=innodb; insert into t1 values (1,2);insert into t1 values (null,2); insert into t1 values (null,2); select * from t1;

C# 对MongoDB 进行增删改查的简单操作

C# 对MongoDB 进行增删改查的简单操作 下面演示下C#操作MongoDB驱动的简单的增删改查代码 运用到的MongoDB支持的C#驱动,当前版本为1.6.0 下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads 1,连接数据库 /// <summary> /// 数据库连接 /// </summary> private const string conn = "mongodb://127.0.0

开发人员改主键自增列起始值多了个0 !!!

2017-07-23 晚21:21接到开发打来的电话说mysql自增列改大后还能修改吗? 原由:因领导说要保留id 99999和 98888这样的id号 自己用,然后开发就自己改了user_login_account表自增列起始值,开发本想改成100002,然而他多加了一个0,搞成了1000002,这就有点杯具了, 于是开发想试图搞这个值改小成100002,结果改不回来了,他就找到我处理.本想 1 首先和开发沟通后确定影响到了2张表,一个表是user_login_account的自增id列,另一