Включить $ или в $ совпадение совокупности не работает в мангусте? [Дубликат]

На меня не ответили никакие ответы.

Все политики были правильными, но у меня возникла ошибка при установке пакета

Не удалось инициализировать хост PowerShell. Если для параметра политики выполнения PowerShell установлено значение AllSigned, откройте консоль диспетчера пакетов, чтобы инициализировать узел первым.

Решение: я удалил плагин менеджера пакетов nuget и переустановил его.

39
задан SFEley 5 January 2010 в 18:57
поделиться

4 ответа

Использование запроса $ where будет медленным, отчасти потому, что он не может использовать индексы. Для такого рода проблем я думаю, что было бы лучше сохранить высокое значение для поля «expires», которое, естественно, всегда будет больше, чем Now (). Вы можете либо хранить очень высокую дату в миллионы лет в будущем, либо использовать тип «seporate», чтобы никогда не указывать. Порядок сортировки кросс-типа определен в http://www.mongodb.org/display/DOCS/Compare+Order+for+Types . Пустое Regex или MaxKey (если вы его поддерживаете) являются хорошим выбором.

69
ответ дан mstearn 20 August 2018 в 08:50
поделиться
71
ответ дан mstearn 31 October 2018 в 07:25
поделиться

Объекты запроса в Mongo по умолчанию и выражения вместе. В настоящее время Mongo не включает оператор OR для таких запросов, однако есть способы выражения таких запросов.

Используйте «in» или «where».

Его собираются что-то вроде этого:

db.mycollection.find( { $where : function() { 
return ( this.startTime < Now() && this.expireTime > Now() || this.expireTime == null ); } } );
3
ответ дан nont 20 August 2018 в 08:50
поделиться
  • 1
    Довольно круто, первый раз я вижу функцию, используемую с Монго! Конечно, недостатком является то, что он не будет использовать индексы – Nico 7 December 2016 в 04:20

В случае, если кто-либо сочтет это полезным, 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"
    }]
});
34
ответ дан robertjmoore 20 August 2018 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: