使用变量对键猫鼬更新子文档

时间:2019-07-17 03:27:15

标签: javascript node.js mongodb mongoose

我正在使用括号表示法基于字符串变量更新子文档。用户的花名册将针对美式足球赛季的不同季节和星期进行更新。在提取数据的同一数据库请求中,是否有办法为用户动态更新子文档?

我能够执行FindOne,然后在架构中更新整个名册对象,但并非没有先从数据库中提取数据并对其进行操作。

我认为我遇到的问题来自'$set': { 'roster[season][week]'中的db.UserRoster.findOneAndUpdate

    const dummyRoster2 = {
        QB: 7549,
        RB1: 8102,
        RB2: 5940,
        WR1: 5946,
        WR2: 6477,
        Flex: 9910,
        TE: 7485,
        K: 8003
    };

    const updatedRoster = await db.UserRoster.findOneAndUpdate({ userId: userId }, { '$set': { 'roster[season][week]': dummyRoster2 } }, { new: true });

模式-可以在不同的时间访问季节和星期。

    const UserRosterSchema = new Schema({
userId: {
    type: String,
    unique: true,
    required: true
},
roster: {
    '2019-2020-regular': {
        usedPlayers: [Number],
        '1': {
            QB: {
                type: Number,
                default: 0
            },
            RB1: {
                type: Number,
                default: 0
            },
            RB2: {
                type: Number,
                default: 0
            },
            WR1: {
                type: Number,
                default: 0
            },
            WR2: {
                type: Number,
                default: 0
            },
            Flex: {
                type: Number,
                default: 0
            },
            K: {
                type: Number,
                default: 0
            }
        },

0 个答案:

没有答案