2017-07-06 1 views
0
const AssetSchema = new Schema({ 
    name: { 
    type: String, 
    required: [true, 'Name value is required'], 
    unique: true 
    }, 
    past:[[Number], Date] 
}); 

J'essaie de sauvegarder un tableau qui contient un autre tableau de nombres et une date avec chaque tableau. Est-ce faisable ou pas tellement?Tableau de deux types de données et comment le modifier

Je suis mise à jour du tableau avec ceci:

assets[i].past.push([12,24], new Date(Date.now()).toISOString()); 

Mais j'obtiens l'erreur:

CastError: Cast to [number] failed for value "["2017-07-06T18:15:23.631Z"]" at path "past" 

Merci pour l'aide, Ed.

Répondre

0

Peut-être que je me trompe, mais je ne pense pas que vous pouvez le faire past:[[Number], Date]. Mongoose ne semble pas le comprendre comme il le dit dans l'erreur Cast to [number]

Pourquoi ne pas être plus explicite et utiliser un tableau d'objets à la place?

path: [{ 
    numbers: [Number], 
    date: Date 
}] 

qui est un tableau d'objets dans lequel chaque objet contient un tableau de nombres et une date.

assets[i].past.push({ 
    numbers: [12,24], 
    date: new Date(Date.now()) // I don't think you need to use .toISOString() 
});