На меня не ответили никакие ответы.
Все политики были правильными, но у меня возникла ошибка при установке пакета
Не удалось инициализировать хост PowerShell. Если для параметра политики выполнения PowerShell установлено значение AllSigned, откройте консоль диспетчера пакетов, чтобы инициализировать узел первым.
blockquote>Решение: я удалил плагин менеджера пакетов nuget и переустановил его.
Использование запроса $ where будет медленным, отчасти потому, что он не может использовать индексы. Для такого рода проблем я думаю, что было бы лучше сохранить высокое значение для поля «expires», которое, естественно, всегда будет больше, чем Now (). Вы можете либо хранить очень высокую дату в миллионы лет в будущем, либо использовать тип «seporate», чтобы никогда не указывать. Порядок сортировки кросс-типа определен в http://www.mongodb.org/display/DOCS/Compare+Order+for+Types . Пустое Regex или MaxKey (если вы его поддерживаете) являются хорошим выбором.
Используйте «in» или «where».
Его собираются что-то вроде этого:
db.mycollection.find( { $where : function() {
return ( this.startTime < Now() && this.expireTime > Now() || this.expireTime == null ); } } );
В случае, если кто-либо сочтет это полезным, www.querymongo.com выполняет перевод между SQL и MongoDB, включая предложения OR. Это может быть очень полезно для определения синтаксиса, когда вы знаете эквивалент SQL.
В случае операторов OR это выглядит как
SQL:
SELECT * FROM collection WHERE columnA = 3 OR columnB = 'string';
MongoDB:
db.collection.find({
"$or": [{
"columnA": 3
}, {
"columnB": "string"
}]
});