Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.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
Node.js 对于特定架构,每个用户限制N个文档_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 对于特定架构,每个用户限制N个文档

Node.js 对于特定架构,每个用户限制N个文档,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我想从一个例子开始解释会更容易 假设我们有这个模式: var entrySchema = new Schema({ _id: mongoose.Schema.Types.ObjectId, user: { type: String, ref: User }, // more fields here }); 因此基本上存在一种1:M关系,用户可以在数据库中存储多个条目 现在,为了优化和降低成本,我只允许为特定用户存储N(50

我想从一个例子开始解释会更容易

假设我们有这个模式:

var entrySchema = new Schema({
    _id: mongoose.Schema.Types.ObjectId,
    user: {
        type: String,
        ref: User
    },
    // more fields here
    });
因此基本上存在一种
1:M
关系,用户可以在数据库中存储多个条目

现在,为了优化和降低成本,我只允许为
特定用户存储
N(50-100)个条目

当然,简单的解决方案是每次为用户添加条目时检查是否已达到限制,并删除最旧的条目

我想知道是否有任何内置的机制,使这更容易实现。我并不是说它很难实现,只是说它看起来像是可以用我不知道的mongo/mongoose特性来解决的问题

我很难在mongo文档和mongoose中找到任何东西。 注意,npm包也是受欢迎的