Могу ли я проиндексировать внедренный документ на Mongoose?

У меня есть следующие схемы; Адрес является геокодированным местоположением, и Агентство имеет много адресов. Мой вопрос заключается в том, если я хочу иметь возможность выполнять геопространственный поиск по агентству на основе его адресов, то нужно ли мне каким-то образом индексировать их на уровне агентства (уже проиндексировано на уровне схемы адресов)?

Кроме того, мне трудно найти информацию о том, как найти на основе вложенных документов. В этом сценарии, возможно ли вообще сделать то, на что я надеюсь, или мне следует немного расширить свою структуру домена и иметь «AgencyAddress»? Этот подход кажется мне немного RDBMS, но я также вижу его преимущества.

Я немного запутался в том, как я мог использовать ObjectId refs из Агентства (или объект моста AgencyAddress) без инвертированной ссылки из адреса. Я не хочу иметь обратные ссылки, потому что адрес будет использоваться рядом других объектов в приложении.

Спасибо!

var AddressSchema = new Schema({
  name        : {type: String, default : ''},
  street1     : {type: String, default : ''},
  street2     : {type: String, default : ''},
  city        : {type: String, default : '', required: true},
  state       : {type: String, required : true},
  zip         : {type: String, default ''},
  country     : {type: String},
  location    : {longitude: Number, latitude:Number}
  type        : {type: String, enum:['agent', 'agency', 'registrant'], index:true}
  created_at  : {type: Date, default: Date.now},
  updated_at  : {type: Date, default: Date.now}
  primary     : {type: Boolean, default: false}
});

AddressSchema.index({location: '2d'});

Агентство:

var AgencySchema = new Schema({
  name         : {type : String, default : '', required : true},
  Type         : {type : String, enum['medical', 'disaster-service', 'local-law', 'state-law', 'federal-law'], index:true},
  Addresses    : [Address], 
  created_at   : {type : Date, default : Date.now},
  updated_at   : {type : Date, default : Date.now}
});

-121--1586482-

Получить имя сборки веб-приложения, независимо от текущей исполняемой сборки Возможно ли получить имя сборки ASP.NET веб-приложения из указанной сборки?? Assembly.GetEntureAssembly хорошо работал в приложениях для настольных компьютеров и консолей, но, похоже, всегда имеет значение null в...

Можно ли получить имя сборки ASP.NET веб-приложения из сборки, на которую имеется ссылка??

Assembly.GetEntureAssembly хорошо работал в приложениях для настольных компьютеров и консолей, но в веб-приложениях он всегда имеет значение null, и GetExecuting\GetCallingAssebly возвращает мою сборку, на которую имеется ссылка, а не из веб-приложения.


Длинное объяснение:

Я написал пользовательский Поставщик параметров настройки , который вместо чтения конфигурации из конфигурационного файла приложения получает параметры настройки из централизованной службы конфигурации.

Пользовательский поставщик находится в отдельной сборке, поэтому он может использоваться различными приложениями.

Необходимо переопределить свойство StartName именем сборки приложения.

Для использования поставщика используется пользовательский атрибут .net , поэтому я не могу отправить ему какие-либо параметры.

Поскольку методы, не входящие в состав Assembly.Get * Assembly, работают, единственное, о чем я могу думать, это требовать appSetting с именем приложения для веб-приложений, но я не очень доволен этим. Любая помощь в этом ценится, спасибо!

15
задан Pablote 18 September 2011 в 17:56
поделиться