小编Max*_*lin的帖子

如何从Mongoose模型对象获取集合名称

我有一个像这样的猫鼬模型:

var mongoose = require("mongoose");
var Schema = mongoose.Schema;

let schema = new Schema({
    test: String
}, {
    collection: "test"
});

let model = mongoose.model("TestModel", schema);
Run Code Online (Sandbox Code Playgroud)

如果在回调中我如何检索集合名称我只能访问"模型"参考.

期待像:

model.getCollectionName();
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb

14
推荐指数
1
解决办法
8934
查看次数

使用 Mongoose 跳过大量记录时如何避免内存限制?

在具有超过 10 万条记录的集合中,当我使用 Mongoose 选项进行查询时,如下所示:

contact.find({}, {}, {
  collation: {
    locale: 'en_US',
    strength: 1
  },
  skip: 90000,
  limit: 10,
  sort: {
    email: 1
  }
});
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

MongoError:查找命令期间执行程序错误:OperationFailed:排序操作使用的 RAM 超过最大 33554432 字节。添加索引,或指定较小的限制。

但我确实在电子邮件字段上有一个索引:

{
  "v" : 2,
  "key" : {
    "email" : 1
  },
  "name" : "email_1",
    "ns" : "leadfox.contact",
    "background" : true
}
Run Code Online (Sandbox Code Playgroud)

另一方面,当我在 Mongo shell 中查询时,它工作正常:

db.contact.find().sort({email: 1}).skip(90000).limit(10)
Run Code Online (Sandbox Code Playgroud)

indexing mongoose mongodb

4
推荐指数
1
解决办法
2022
查看次数

标签 统计

mongodb ×2

mongoose ×2

indexing ×1