将二维数组保存到 MongoDb 的最佳方法

Posted

技术标签:

【中文标题】将二维数组保存到 MongoDb 的最佳方法【英文标题】:Best way to save 2D array to MongoDb 【发布时间】:2017-10-27 20:02:06 【问题描述】:

我生成的保存二维数组的最佳方法是什么,问题是它不会是小数组。那么有没有办法将这个二维数组转换为某种 JSON 格式或其他东西,然后用 mongoose 保存,然后快速将其转换回来,其中的值是字符串,所有想法都值得赞赏。

这是我的架构:

var UserRatingSchema = new Schema(
  user: type: mongoose.Schema.Types.ObjectId, ref: 'User',
  movie: type: mongoose.Schema.Types.ObjectId, ref: 'Movie',
  rating: String, 
);

以及数组示例: [无] Movie1 Movie2 User1 10 无评分 用户 2 6 5 ... 如果我将每个实例都保存到数据库中是否有效?

【问题讨论】:

你的数组包含什么? N-d 数组可以很方便的转换成 JSON;对于 MongoDb,大小无关紧要。 您是否为包含二维数组的集合创建了架构? 你可以使用嵌入文档 【参考方案1】:

你可以这样定义模型,

location: type: [Number]

并在架构索引中定义它

UserSchema.index(location : '2d');

现在你的结构会是这样的

 "location": [
        67.0783412,
        24.9044033
    ]

您也可以通过向值添加键来修改!

【讨论】:

像魅力一样工作! 快乐编码 :)

以上是关于将二维数组保存到 MongoDb 的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

C语言中 指针做函数参数传递二维数组

C语言 如何将一个二维数组的值全部替换成另一个二维数组

将 NumPy 向量转换为二维数组/矩阵

通过单击 QTabWidget 外部的按钮,将每个选项卡(QTabWidget)中的数组保存到 QTabWidget 外部的二维数组

在 C++ 中表示二维数组的最佳方法,其大小在运行时确定

如何在 Python 中保存二维数组(列表)?