Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Ноде+mongoose ДБ (https://javascript.ru/forum/node-js-io-js/82194-node-mongoose-db.html)

Юрий123456 29.03.2021 23:03

Ноде+mongoose ДБ
 
Доброго всем !
Спасибо за постоянную помощь благодаря вашим советам продвигаюсь к высотам познания )))
Возникло несколько вопросом надеюсь на вашу помощь:
Тех задание : БД 1 запись = 900 полей (нумберы и стринги) около 50%
строки пустые но это также информация для вывода.
Я создал схему
// Node JS server part
const ProjFleet6 = new Schema( {i1:Number,i2:String,i3:Number,i4:String, i5:Number,i6:String,i7:Number,i8:String,i9:Number, i10:String,
i11:Number,i12:String,i13:Number,i14:String .... и тд. 900 штук....
Присвоение значений происходит из массива который приходит с
клиента
// Node JS server part
const newShip2 = new projfleet6 (
{ "i1":duka[5],"i2":duka[6],"i3":duka[7],"i4":duka[8].....
Вопрос: При таком кол-ве элементов нет ли какого способа автоматизированного присвоения элементов , я пытался
создать JSON строку и потом ее вписать в БД но почему-то не проходит:
// Node JS server part
let AAAA= "{\"i1\""+":"+"\""+duka[0]+"\""
for (i=1; i<857;++i){
AAAA=AAAA+","+"\"i\""+":"+"\""+duka[i]+"\""}
AAAA=AAAA+"}"
const newShip1 = new projfleet5 (AAAA);
Пишет ошибку - кривой объект...
Возможно ли так готовить строку на запись в ДБ.
Или может другие способы записи массива в ДБ с последующим возвратом массива(без изменения последовательности элементов) на клиент для последующей обработки.
Заранее СПАСИБО!

voraa 30.03.2021 07:54

Я особо со схемами не работал, но вроде в
const newShip2 = new projfleet6 (arg)
arg - должен быть объектом.
Вот и надо его создать

const arg = {}
arg.i1 duka[0];
...
for (let j=j; j<257; j++) arg['i'+j] = duka[j];

(Не совсем понял какое у вас соотношение между i[n ] и duka[n].
Тут вы пишите "i1":duka[5],"i2":duka[6],"i3":duka[7],"i4":duka[8])
Но принцип такой.

Юрий123456 30.03.2021 12:54

А вообще в целом критично для обрабоки БД строка в 1000-2000 ячеек?
или лучше пилить на короткие строки. обрабатываться индексы только первых 10 ячеек остальное справочная инф.? спасибо.


Часовой пояс GMT +3, время: 17:58.