Ok, also war ich mit einem ähnlichen Problem konfrontiert, das ich schließlich nur für Karten mit einer bestimmten Struktur gelöst habe, das heißt, dass alle Einträge vom selben Typ sind, indem man in den Tests nach Dynamoose und Training sucht die Syntax. Der folgende Code speichert addressHeld als eine Liste von Maps in dynamodb.
Sie können aus dem Scan sehen, dass Sie ein Array von Objekten auf Abfrage zurück erhalten.
var Address = dynamoose.model('Address', {
HouseNumber: {
type: Number,
hashKey: true
},
Postcode: {
type: String,
rangeKey: true
}
}, { useDocumentTypes: true });
var dogSchema = new dynamoose.Schema({
ownerId: {
type: Number,
hashKey: true
},
address: {
type: 'list',
list: [
{
HouseNumber: { type: Number, require: true },
Postcode: { type: String, require: true },
}
],
require: true
},
}, { useDocumentTypes: true });
var Dog = dynamoose.model('Dog', dogSchema, options);
var Address1 = new Address(
{
HouseNumber: 1,
Postcode: "LS114RF"
});
var Address2 = new Address(
{
HouseNumber: 2, Postcode: "NN22NX"
});
var odie = new Dog({
ownerId: 1,
address: [Address1, Address2]
});
odie.save(function (err) {
if (err) { return console.log(err) }
console.log('Ta-da!');
});
Dog.scan().exec((err, dog) => {
console.log(dog);
});
Sie können eine Liste von Karten speichern, aber dynamoose weiß nicht, was mit ihnen zu tun, damit es sie als Strings speichert, wird dies durch die Einstellung der Liste Typ ‚Objekt‘ acheived ist
Sie Ich könnte mir attributeToDynamo in der API ansehen, aber wenn die Objekte völlig zufällig sind, bin ich mir nicht sicher, ob Sie in der Lage sein werden, das zu tun, was Sie in dynamoose wollen.
Sie könnten immer auf die rohe AWS-SDK zurückgreifen, wenn alles andere fehlgeschlagen wäre. Hoffe, das hilft.
Hier ist Ihre Lösung https://stackoverflow.com/questions/45695830/dynamodb-list-type –