W Node.js mam trzy zmienne:

var name = 'Peter';
var surname = 'Bloom';
var addresses = [
    {street: 'W Division', city: 'Chicago'},
    {street: 'Beekman', city: 'New York'},
    {street: 'Florence', city: 'Los Angeles'},
];

I schemat:

var mongoose = require('mongoose')
  , Schema = mongoose.Schema;

var personSchema = Schema({
  _id     : Number,
  name    : String,
  surname : String,
  addresses : ????
});

Jaki rodzaj i jak mogę go używać w schemacie? Jak jest to najlepszy sposób?

7
fogen 24 czerwiec 2017, 20:45

5 odpowiedzi

Najlepsza odpowiedź

Musisz utworzyć kolejny schemat mangusta:

var adres = schemat ({ ulica: ciąg, Miasto: String});

A typ adresów będzie Array & LT; Adres & GT;

1
Kenany 24 czerwiec 2017, 17:55
//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();

Mam nadzieję, że to może rozwiązać twój problem

-1
Ratan Uday Kumar 25 czerwiec 2017, 16:47

Możesz użyć ref w Whitechema

var personSchema = Schema({
  _id     : Number,\n
  name    : String,
  surname : String,
  addresses : [{ref:Adress}]
});

var address = Schema({street: String, city: String});


mongoose.model('PersonSchema', personSchema);
mongoose.model('Adress', adress);

"REF" jest używany do nawiązania adresu i stosowania w PairShema

0
nitheesh 11 luty 2020, 14:00

W rzeczywistości przechowujesz tablicę.

var personSchema = Schema({
  _id     : Number,
  name    : String,
  surname : String,
  addresses : []
});
1
Isaac Pak 13 wrzesień 2018, 14:14

Rozwiązanie zapisywania macierzy jest znacznie proste, sprawdź poniżej kod

Adv.save({addresses: JSON.stringify(addresses)})

Twój schemat będzie wyglądał jak to

var personSchema = Schema({
 _id     : Number,
 name    : String,
 surname : String,
 addresses : String,
});
1
S Kumar 24 czerwiec 2017, 19:00