我有一个应用程序允许用户使用自己的自定义数据,所以我不知道数据是什么。但是,我确实想让他们对数据进行排序。 这可能是大量数据,并且 mongodb 最终会出现内存错误(32MB 限制)
解决这个问题的最佳方法是什么?如何让用户按未知字段对大量数据进行排序?
最佳答案
MongoDB 允许您设计模式,使其可以在模式中存储对象和对象关系,因此您可以允许用户存储任何类型的信息。正如@kevinadi 所说,有 32MB 的限制。就排序而言,它可以在您的服务器端完成。
这是我在 MongoDB 和 Mongoose ORM 中存储对象时尝试的示例
var mongoose = require("mongoose");
var userSchema = new mongoose.Schema({
email: {
type: String,
unique: true,
required: true,
lowercase: true,
trim: true,
match: [/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/, "Please fill a valid email address"]
},
custInfo:{
type:Object,
required: true
}
isConfirmed: {
type: Boolean,
required: true,
default: false
},
confirmedOn:{
type: Date,
required: true,
default: Date.now()
}
});
module.exports = mongoose.model("user",userSchema);
关于node.js - 按非索引字段排序的 MongoDB 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56436521/