У меня есть база данных NedB, в которую я пытаюсь вставить новые данные, которые я извлекаю из HTML-формы, это моя функция для вставки новых.
addEntry(name,desc,ingred,allergy,cat,aval,price){
var entry = {
Name: name,
Description: desc,
Ingerdients: ingred.split(','),
Allergy: allergy.split(','),
Category: cat,
Availability: aval,
price: price
}
this.db.insert(entry, function(err,doc) {
if (err)
{
console.info("error inserting document",subject);
}
else{
console.info('Meal Added Successfully');
}
})
}
Моя проблема в том, что Availability
является логическим значением, но оно добавляется в базу данных с кавычками. Например: «истина» вместо «истина» и «ложь» вместо «ложь», как я могу это исправить?
не могли бы вы подробнее рассказать о том, где сделать это преобразование? внутри массива записей?
Смотрите мой ответ, пожалуйста.
Предполагая, что параметр aval
является строкой, вы можете преобразовать его в логическое значение:
var entry = {
Name: name,
Description: desc,
Ingerdients: ingred.split(','),
Allergy: allergy.split(','),
Category: cat,
Availability: aval === "true",
price: price
}
Но я удивлен, что база данных принимает строковое значение вместо логического. Разве это не дает вам сообщение об ошибке?
это сработало отлично, теперь спасибо. Я также был удивлен, что он принял это и много раз пытался увидеть, как это было передано, но не смог узнать
Вы можете преобразовать его в логическое значение:
avalBool = (aval === "true")
.