У меня есть следующие схемы; Адрес является геокодированным местоположением, и Агентство имеет много адресов. Мой вопрос заключается в том, если я хочу иметь возможность выполнять геопространственный поиск по агентству на основе его адресов, то нужно ли мне каким-то образом индексировать их на уровне агентства (уже проиндексировано на уровне схемы адресов)?
Кроме того, мне трудно найти информацию о том, как найти на основе вложенных документов. В этом сценарии, возможно ли вообще сделать то, на что я надеюсь, или мне следует немного расширить свою структуру домена и иметь «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, и GetExecuting\GetCallingAssebly возвращает мою сборку, на которую имеется ссылка, а не из веб-приложения.
Длинное объяснение:
Я написал пользовательский Поставщик параметров настройки , который вместо чтения конфигурации из конфигурационного файла приложения получает параметры настройки из централизованной службы конфигурации.
Пользовательский поставщик находится в отдельной сборке, поэтому он может использоваться различными приложениями.
Необходимо переопределить свойство StartName именем сборки приложения.
Для использования поставщика используется пользовательский атрибут .net , поэтому я не могу отправить ему какие-либо параметры.
Поскольку методы, не входящие в состав Assembly.Get * Assembly, работают, единственное, о чем я могу думать, это требовать appSetting с именем приложения для веб-приложений, но я не очень доволен этим. Любая помощь в этом ценится, спасибо!