Не могли бы вы помочь мне в создании представления.Ниже приведено требование
select * from personaccount where name="srini" and user="pup" order by lastloggedin
Я должен отправить имя и пользователя в качестве входных данных для представления, и данные должны быть отсортированы по lastloggedin.
Ниже приведено представление, которое я создал, но ононе работает
{
"language": "javascript",
"views": {
"sortdatetimefunc": {
"map": "function(doc) {
emit({
lastloggedin: doc.lastloggedin,
name: doc.name,
user: doc.user
},doc);
}"
}
}
}
И эта команда curl iam использует:
http://uta:password@localhost:5984/personaccount/_design/checkdatesorting/_view/sortdatetimefunc?key={\"name:srini\",\"user:pup\"}
Мои вопросы
Поскольку сортировка будет выполнена по ключу, и я хочу, чтобы она была в lastloggedinпоэтому я дал это также в функции emit.
Но я передаю имя и пользователя только в качестве параметров.Нужно ли передавать все параметры, которые мы передаем в ключе?
Прежде всего, я хочу передать вам ответ, я сделал то же самое, и я получаю ошибки.Пожалуйста, помогите
Не могли бы вы попробовать это на своем ПК, я отправляю все команды:
curl -X PUT http://uta:password@localhost:5984/person-data
curl -X PUT http://uta:password@localhost:5984/person-data/srini -d '{"Name":"SRINI", "Idnum":"383896", "Format":"NTSC", "Studio":"Disney", "Year":"2009", "Rating":"PG", "lastTimeOfCall": "2012-02-08T19:44:37+0100"}'
curl -X PUT http://uta:password@localhost:5984/person-data/raju -d '{"Name":"RAJU", "Idnum":"456787", "Format":"FAT", "Studio":"VFX", "Year":"2010", "Rating":"PG", "lastTimeOfCall": "2012-02-08T19:50:37+0100"}'
curl -X PUT http://uta:password@localhost:5984/person-data/vihar -d '{"Name":"BALA", "Idnum":"567876", "Format":"FAT32", "Studio":"YELL", "Year":"2011", "Rating":"PG", "lastTimeOfCall": "2012-02-08T19:55:37+0100"}'
Вот вид, как вы сказали, я создал:
{
"_id": "_design/persondestwo",
"_rev": "1-0d3b4857b8e6c9e47cc9af771c433571",
"language": "javascript",
"views": {
"personviewtwo": {
"map": "function (doc) {\u000a emit([ doc.Name, doc.Idnum, doc.lastTimeOfCall ], null);\u000a}"
}
}
}
I have fired this command from curl command :
curl -X GET http://uta:password@localhost:5984/person-data/_design/persondestwo/_view/personviewtwo?startkey=["SRINI","383896"]&endkey=["SRINI","383896",{}]descending=true&include_docs=true
Я получил эту ошибку:
[4] 3000
curl: (3) [globbing] error: bad range specification after pos 99
[5] 1776
[6] 2736
[3] Done descending=true
[4] Done(3) curl -X GET http://uta:password@localhost:5984/person-data/_design/persondestwo/_view/personviewtwo?startkey=["SRINI","383896"]
[5] Done endkey=["SRINI","383896"]
Я не знаю, что это за ошибка.
Я также попытался передать параметры ниже, и это не помогает
curl -X GET http://uta:password@localhost:5984/person-data/_design/persondestwo/_view/personviewtwo?key={\"Name\":\"SRINI\",\"Idnum\": \"383896\"}&descending=true
Но я получаю разные ошибки в escape-последовательностях
В целом, я просто хочу, чтобы этот запрос был выполнен с помощью представления:
select * from person-data where Name="SRINI" and Idnum="383896" orderby lastTimeOfCall
Моя задача - как передать несколько параметров из curlкоманда, как я получаю много ошибок, если я делаю вышеописанным способом.