【问题标题】:Mongoose create multidimensional arrayMongoose 创建多维数组
【发布时间】:2017-05-18 07:40:50
【问题描述】:

我会用什么方法来拯救 40 种不同类型的犯罪,每种犯罪都有身份和机会?

我将如何获取 ID、机会并更新它们?

到目前为止我得到了什么:

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

var crime_modelSchema   = new Schema({
    userid : String,
    crimes: [
         {
            id: {type: Number, default: 1},
            chance: { type: Number, default: 50}
         }
    ],
    ip: String,
    time: Number,
});

module.exports = mongoose.model('crime_model', crime_modelSchema);

这是要走的路还是我很远?

【问题讨论】:

  • 架构似乎没问题,但您可以展示您尝试获取 ID、机会并更新它们的内容?
  • scema 是正确执行 IT 的方法吗,因为它有 30 多个阵列?
  • 数组?我认为您的意思是对象数组。如果我错了,请纠正我。您的架构也很好,但您也可以为犯罪创建单独的架构并将其嵌入到您的主架构中。以防万一你想让它变得简单。

标签: javascript mongodb mongoose database-schema database-performance


【解决方案1】:

针对特定用户:

db.crime_model.update({userid: user_id_you_want, "crimes.id": crimes_id_you want}, {$set: {"crimes.$.chance": 'update chnace'}});

对于所有具有特定犯罪 id 的用户

db.crime_model.update({"crimes.id": crimes_id_you want}, {$set: {"crimes.$.chance": 'update chnace'}}, {multi: true});

获取id,有机会可以直接找回犯罪

db.crime_model.find({}, {crimes: 1})

【讨论】:

    猜你喜欢
    • 2017-03-07
    • 2011-08-19
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 2014-11-03
    • 2014-03-02
    相关资源
    最近更新 更多