Как заставить функцию trim () работать в коде node.js, даже если она не используется в схеме модели mon goose? - PullRequest
0 голосов
/ 20 января 2020

У меня есть коллекция mongodb, в которой хранятся данные о клиентах. Мне нужно урезать номер мобильного телефона клиента, если есть свободные или пробелы. Я использовал функцию trim(), чтобы удалить их. Но я получаю сообщение об ошибке, trim () не является функцией .

Вот моя схема модели:

var schema = mongoose.Schema({
    name    : {type: String, required: true},
    email   : {type: String, required: true},
    mobile  : {type: String, required: true, index: false, unique: false});

module.exports = mongoose.model("customer", schema);

Вот код, в котором я использовал функцию trim :

addNewCustomer: async function(payload){
  var customer = new Customer({
     name  : payload.name,
     email : payload.email,
     mobile: payload.mobile.trim()
  });
}

Когда я выполняю вышеуказанную функцию, она выдает мне ошибку. Но если я использую trim() на уровне схемы, он работает нормально.

mobile  : {type: String, required: true, index: false, unique: false, trim: true});

В чем разница между использованием trim () на уровне SCHEMA и уровне FUNCTIONALITY? Почему он не работает при использовании в функции?

1 Ответ

0 голосов
/ 20 января 2020

видели функциональный альтернативный синтаксис «курсора» ala:

db.collection.find({},{ "category": 1 }).forEach(function(doc) {
  db.collection.update(
    { "_id": doc._id },
    { "$set": { "category": doc.category.trim() } }
  );
})

Приведенный выше пример скопирован из: { ссылка }

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