首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每天重置计数器-序列

每天重置计数器-序列
EN

Stack Overflow用户
提问于 2021-09-11 08:20:00
回答 1查看 244关注 0票数 0

我有一个猫鼬用户模式。seq_no是一个自动递增的字段--如果创建了相同的国家和城市用户,则该字段将递增。

代码语言:javascript
复制
const mongoose = require("mongoose");
const AutoIncrement = require("mongoose-sequence")(mongoose);

UserSchema = mongoose.Schema({
  name: String,
  country: String,
  city: String,
  seq_no: Number,
});

UserSchema.plugin(AutoIncrement, {
  id: "user_seq",
  inc_field: "seq_no",
  reference_fields: ["country", "city"],
});

const User = mongoose.model("user", UserSchema);

module.exports = User;
代码语言:javascript
复制
const express = require("express");
const router = express.Router();
const User = require("../models/User");

router.post("/", async (req, res) => {
  try {
    console.log("user post");
    const { name, country, city } = req.body;
    const user = new User({ name, country, city });
    await user.save();
    return res.status(200).json(user);
  } catch (err) {
    console.error(err.message);
    res.status(500).send("Server error");
  }
});

module.exports = router;

我想每天重新设置柜台。猫鼬序列文档说明了counterReset(id, reference, callback),但它抛出了异常Cannot read property '_resetCounter' of null

EN

回答 1

Stack Overflow用户

发布于 2022-08-30 14:07:10

因此,不用使用counterReset回调,您可以向当前的month year and day传递一个额外的引用,使其成为一个引用字段,这样,每当系统检测到新的一天,插件就会自动重置计数器。

代码看起来会像这样

代码语言:javascript
复制
const mongoose = require("mongoose");
const AutoIncrement = require("mongoose-sequence")(mongoose);

UserSchema = mongoose.Schema({
  name: String,
  country: String,
  city: String,
  seq_no: Number,
  reset_field: String  // here you pass the current day YYMMDD e.g 220809
});

UserSchema.plugin(AutoIncrement, {
  id: "user_seq",
  inc_field: "seq_no",
  reference_fields: ["country", "city", "reset_field"], //Include your reset field in the references
});

const User = mongoose.model("user", UserSchema);

module.exports = User;

我知道这可能不会解决真正复杂的重置原因,但确实解决了我的问题,希望我能帮上忙。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69141242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档