Пн goose найти и обновить все - PullRequest
0 голосов
/ 14 февраля 2020

Так что в настоящее время я использую это

await User.findOneAndUpdate({email: req.user.email }, {lastLoad: 'dfConsignee'});

Но я хочу иметь возможность обновлять всех пользователей с тем же номером TruckNumber, который будет обновляться при отправке формы.

ТАК Я пытался использовать это

await User.update({truckNumber: truckNumber }, {lastLoad: 'dfConsignee'});

Но это только обновило активного пользователя по некоторым причинам. Как мне go обновить все учетные записи с одним и тем же номером грузовика при заполнении формы?

Заранее спасибо, ребята <3 </p>

Редактировать ---------- -------------------------------------------------- -------------------------------------------------- --------------

Под активным пользователем я имел в виду зарегистрированного пользователя.

Пн goose Схема:

const mongoose = require('mongoose');

const UserSchema = new mongoose.Schema({
    name: {
        type: String,
        required: true
    },
    email: {
        type: String,
        required: true
    },
    password: {
        type: String,
        required: true
    },
    date: {
        type: Date,
        default: Date.now
    },
    isVerified: {
        type: Boolean,
        default: false
    },
    profilePic: {
        type: String,
        default: 'abc'
    },
    truckDriver: {
        type: Boolean,
        default: false
    },
    truckNumber: {
        type: Number
    },
    admin: {
        type: Boolean,
        default: false
    },
    customer: {
        type: Boolean,
        default: false
    },
    loadPlanning: {
        type: Boolean,
        default: false
    },
    lastLoad: {
        type: String,
        default: "dfConsignee"
    }
});

const User = mongoose.model('User', UserSchema);

module.exports = User;

Образец документа:

{"_id":{"$oid":"aaaaaaaaaaaaaaaa"},
"isVerified":true,
"profilePic":"abc",
"truckDriver":true,
"admin":false,
"customer":false,
"loadPlanning":false,
"lastLoad":"aAtShipper",
"name":"Nicholas Cage",
"email":"NicholasCage@thegreatestactorever.com",
"password":"password",
"date":{"$date":{"$numberLong":"1580858993547"}},"__v":{"$numberInt":"0"},
"truckNumber":"123",}

Чтобы добавить немного уточнения, при отправке формы он будет тянуть зарегистрированный пользовательский номер грузовика. Когда форма будет отправлена, я хочу, чтобы все, кто имеет тот же номер грузовика, тоже имели свое значение в lastLoad.

Ответы [ 2 ]

0 голосов
/ 18 февраля 2020

OMG Наконец-то понял это: D

Я думал, что, когда я перезапустил Nginx, это перезапустило бы приложение, работающее на сервере (я бы увидел, что изменения во внешнем интерфейсе делают это, но изменения во внутреннем не появляется), как только я перезапустил PM2, все изменения на стороне сервера пришли вместе с ним.

Спасибо всем за помощь: D

Теперь "ждите Users.updateMany ({truckNumber: req.user.truckNumber}, {lastLoad: 'aAtShipper'}" обновят все учетные записи с помощью номер общего грузовика: D

0 голосов
/ 14 февраля 2020

Попробуйте использовать updateMany(). Полученный код будет выглядеть примерно так:

User.updateMany({truckNumber: truckNumber}, {lastLoad: 'dfConsignee'});

Если вы действительно хотите ознакомиться с Mon goose и MongoDB в целом, я бы посоветовал взглянуть на документы API. для Mon goose и MongoDB Manual , в нем более подробно рассказывается об инструментах, которые доступны вам при использовании MongoDB. Вот так я и нашел ответ на этот вопрос!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...