В node.js у меня есть три переменные:
var name = 'Peter';
var surname = 'Bloom';
var addresses = [
{street: 'W Division', city: 'Chicago'},
{street: 'Beekman', city: 'New York'},
{street: 'Florence', city: 'Los Angeles'},
];
И схема:
var mongoose = require('mongoose')
, Schema = mongoose.Schema;
var personSchema = Schema({
_id : Number,
name : String,
surname : String,
addresses : ????
});
Какой тип и как его использовать в схеме? Как лучший способ для этого?
Вы должны создать другую схему мангуста:
var address = Schema ({street: String, city: String});
И типом адресов будет Array <address>
Решение для сохранения массива очень просто, пожалуйста, проверьте код ниже
Adv.save({addresses: JSON.stringify(addresses)})
Ваша схема будет выглядеть так
var personSchema = Schema({
_id : Number,
name : String,
surname : String,
addresses : String,
});
Фактически вы храните массив.
var personSchema = Schema({
_id : Number,
name : String,
surname : String,
addresses : []
});
//Your Schema is very easy like below and no need to define _id( MongoDB will automatically create _id in hexadecimal string)
var personSchema = Schema({
name : String,
surname : String,
addresses : [{
street: String,
city: String
}]
var addresses= [
{street: 'W Division', city: 'Chicago'},
{street: 'Beekman', city: 'New York'},
{street: 'Florence', city: 'Los Angeles'}
];
//Saving in Schema
var personData = new personSchema ({
name:'peter',
surname:'bloom',
addresses:addresses
})
personData.save();
Надеюсь, это может решить вашу проблему