我有一个像这样的猫鼬模型:
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) 在具有超过 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)