Как добавить новый элемент в Dynamodb, используя те же первичные и сортировать ключи - PullRequest
0 голосов
/ 25 января 2019

Я начал работать с DynamodB и NodeJ. Я хочу создать панель администратора для добавления нового элемента, в котором первичные ключи и ключи сортировки будут одинаковыми.

Например: ДОБАВИТЬ URL-адрес abc.com/admin/add/xyz/cdef/123

Я создал API для того же самого, также я использую 'put' для создания нового элемента, но он заменяет существующий вместо создания нового.

Код модели:

abc.addData= function(newData, callback){  

var params = {
    TableName: tableconcept,
    Item: newData
}

docClient.put(params, function(err, data) {
    if (err) {
       console.error("Unable to create post", ". Error JSON:", 
        JSON.stringify(err, null, 2));
   } else {
    // console.log("Added item:", JSON.stringify(data, null, 2));
       callback(null, data.Items);

        return true;
   }
  });
  }

Код маршрута:

router.post('/', function(req, res){
var data = req.body;

var newData = new Object()
newData.data = data ;

abc.addData(newData, function(err, data){

    if (err){
        return res.status(401).json({
            status:'failed',
            message: "unable to create post"
        });
    }


    return res.status(200).json({
        status:'success',
        message: 'Successfully Created post.'          
    });      

})
});

1 Ответ

0 голосов
/ 25 января 2019

Вы не можете.

Комбинация разделов и ключей сортировки является первичным ключом. По определению, у вас не может быть дубликата.

Вы можете объединить отметку времени в конце ключа сортировки, чтобы сделать каждый из них уникальным.

Тогда при получении запрос, использующий «ключ сортировки начинается с», вернет все записи.

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