node.js - 按非索引字段排序的 MongoDB 最佳实践

标签 node.js mongodb sorting meteor

我有一个应用程序允许用户使用自己的自定义数据,所以我不知道数据是什么。但是,我确实想让他们对数据进行排序。 这可能是大量数据,并且 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/

相关文章:

node.js - 以同步方式执行异步进程 | Node.js |谷歌地图

javascript - 端口 3000 已在使用 [nodemon] 应用程序崩溃 - 在启动前等待文件更改

javascript - 如何在 javascript 中的音频 blob 上设置编解码器、采样率和比特率?

java - MongoDB Java 驱动程序的自定义实现

javascript - 如何避免/防止 Node.js 中的无限递归调用?

node.js - 将数组索引与提供的对象变量相匹配

Java - MongoDB 将带有破折号 (Message-Id) 的对象键映射到点 (Message.Id)。 Spring数据MongoDB

c++ - 为什么这个快速排序的实现从 void 函数返回?

python - NumPy 排序函数返回 None

java - 我如何对我的数组列表进行排序?