tutorial nodejs node español ejemplos algorithm node.js mongodb recursion mongoose

algorithm - nodejs - node js tutorial



operación async+recursiva+actualización de base de datos con nodejs (0)

Aquí está el algoritmo que devuelve la posición (en forma de devolución de llamada) en la que se puede insertar un artículo y también actualiza la posición de los artículos anteriores.

Put the item into infinite length array (assumed), 0<=index<INFINITY, and for empty array largest_index_occupied = 0. ALSO largest_index_occupied is dynamically retrieved from database.(assumed). No two item can share same index. No item must be lost during any operation. indexes are in increasing order. 1. if index not provided OR index provided is greater than largest_index_occupied then put item at index : largest_index_occupied+5; 2. If index provided AND less than equals to largest_index_occupied, : a. if (No other item already exists at that index) : simply put the item at that index b. otherwise (means if a item already exists at that index) : increase the index of all items by one untill we get an empty index. and put the new item at the index actually passed by user(which must be empty now).

2.b ejemplo:

decir - muestra el índice vacío.

estado previo

0 - - - - 5 6 7 - - 10 a - - - - b c d - - e

entrada en el índice: 5,f

nuevo estado:

0 - - - - 5 6 7 8 - 10 a - - - - f b c d - e

El nuevo índice de Noe f es 5.

Mi requisito es escribir un código para lo anterior en combinación de asincronización, recursión y operación IO (actualización de BD - del índice de elementos en el caso de 2.b) en nodejs.

estoy esperando el next(err,indexToBeInserted); devolución de llamada que tiene que llamarse solo después de que se haya realizado toda la actualización.

Mi bloque de funciones va aquí:

toInsert(mongooseModel,next,indexToBeInserted) { // async code goes here. }

PD: si tienes una mejor solución, comparte.