MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Проста схема на Meteor за данни за географско местоположение на mongo

Хм, не знам точно решението за вашия процес на запазване на геокоорди. Но ако искате да запазите lng и lat, трябва да подадете префикс. Защо? Ами геокоордите имат различни диапазони на валидиране. Географска ширина е достъпна само от -90 до 90 и дължина от -180 до 180. Ако не запазите префикс, как искате да сте сигурни коя е коя координата? Друг намек, който направих фалшив някой ден, е да съхраня координатите в реда на дължина, ширина.

Схемата, която използвам, изглежда така:

GeocoordsSchema = new SimpleSchema({
  lng: {
    type : Number,
    decimal: true,
    min: -180,
    max: 180
  }, 
  lat: {
    type : Number,
    decimal: true,
    min: -90,
    max: 90
  }
});

Сега създавате вложени схеми. Просто разширете GeocoordsSchema с LocationSchema и добавете атрибут.

LocationSchema = new SimpleSchema({
  type : {
    type : String,
    autoValue: function() {
      return "Point";
    }
  },
  coordinate: {
    type: GeocoordsSchema 
  }
});

Ако искате да имате масив от LocationSchema, можете да поставите схемата в [] скоби.

BeachesSchema = new SimpleSchema({
  loc: {
    type: [LocationSchema]
  }
});

Не съм тествал, но това е начинът, по който създавам и влагам различни схеми. Ами това решение се нуждае от идентификатор на lat и lng. Защо не искате да префиксирате вашите данни?



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - как да вмъкнете запис с помощта на функция за автоматично увеличаване

  2. Предаване на информация за типа към MongoDB, така че да може правилно да десериализира типове интерфейси?

  3. Внедряване на приложение nodejs в облачната платформа на Google

  4. Използване на $in в MongooseJS с вложени обекти

  5. LEFT JOIN с GROUP by в MongoDB