Поместите это в начало своего скрипта. Это заставит скрипт запросить у пользователя пароль. Полученный пароль можно затем использовать в другом месте вашего скрипта через $ pw .
Param(
[Parameter(Mandatory=$true, Position=0, HelpMessage="Password?")]
[SecureString]$password
)
$pw = [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($password))
Если вы хотите отлаживать и видеть значение пароля, которое вы только что прочитали, используйте:
write-host $pw
В моем случае мне удалось частично добиться SQL LIKE следующим образом:
databaseReference.orderByChild('_searchLastName')
.startAt(queryText)
.endAt(queryText+"\uf8ff")
Символ \uf8ff
, использованный в запросе, является очень высокой кодовой точкой в диапазоне Unicode (это является кодом зоны частного использования [PUA]). Так как это после большинства обычных символов в Unicode, запрос соответствует всем значениям, которые начинаются с queryText
.
Таким образом, выполняя поиск по "Fre", я мог получить записи, имеющие "Fred, Freddy, Frey" в качестве значения в свойстве _searchLastName
, из базы данных.
Этот вопрос может быть старым, но есть документированный способ достижения этого пути. Он прост в реализации. Цитируется :
Чтобы включить полнотекстовый поиск в ваших данных Cloud Firestore, используйте стороннюю службу поиска, такую как Algolia. Рассмотрим приложение для создания заметок, в котором каждая заметка является документом:
Алголия будет частью вашего firebase functions
и будет выполнять все необходимые вам поиски.
// Update the search index every time a blog post is written.
exports.onNoteCreated = functions.firestore.document('notes/{noteId}').onCreate(event => {
// Get the note document
const note = event.data.data();
// Add an 'objectID' field which Algolia requires
note.objectID = event.params.noteId;
// Write to the algolia index
const index = client.initIndex(ALGOLIA_INDEX_NAME);
return index.saveObject(note);
});
Для реализации поиска лучше всего использовать мгновенный поиск - android
Образец поиска изображения: GIF
Firebase не имеет встроенного поискового запроса, похожего на SQL. Вы можете сортировать по значениям / ключам или равняться
https://firebase.google.com/docs/database/android / retrieve-data
Примеры можно найти по ссылке выше. Это последняя документация для FireBase.
Если вы ищете SQL как поиски. Тогда взгляните на упругий поиск. Но это увеличит сложность, так как вам нужна платформа для ее установки. Для этого я мог бы порекомендовать Heroku или, возможно, GoogleCloudServers
. Здесь есть запись в блоге о расширенном поиске с упругим поиском https://firebase.googleblog.com/2014/01/queries-part-2-advanced -searches-with.html
Я не знаю о достоверности этого подхода, но, используя версию Firebase 10.2.6 на Android, я могу сделать что-то вроде этого:
firebaseDatabase.getReference("parent")
.orderByChild("childNode")
.startAt("[a-zA-Z0-9]*")
.endAt(searchString)
Иногда кажется, что это хорошо работает
В моем случае использовали:
var query = 'text'
databaseReference.orderByChild('search_name')
.startAt(`%${query}%`)
.endAt(query+"\uf8ff")
.once("value")
Таким образом, при поиске по «test» я мог получить записи, имеющие «Test 1, Contest, One test», в качестве значения в свойстве «search» из базы данных.