Couchdb は、このような URL を吐き出し
http://127.0.0.1:5984/roxanne/_design/request/_view/images
ます。これには、データベースとすべての json が含まれています。問題は、すべての json を解析して、/getDocuments という別の URL に送信することです。ノード、エクスプレス、ナノを使用しています。私のserver.jsには、このコードがあります。
app.get('/getDocuments', function(req, res){
var roxanne = nano.use('roxanne');
nano.db.get('roxanne', function(err, body) {
if (!err) {
console.log(body);
}
res.json(body);
});
})
これは私がこれを印刷したいものではありません:
{
"db_name": "roxanne",
"doc_count": 7,
"doc_del_count": 2,
"update_seq": 12,
"purge_seq": 0,
"compact_running": false,
"disk_size": 204904,
"data_size": 3369,
"instance_start_time": "1375974435712463",
"disk_format_version": 6,
"committed_update_seq": 12
}
これは役に立ちません。URLが出力して解析したすべてのjsonが必要です。私も少し実験を行いましたが、予期しないトークンILLEGALと表示されました。
'{"total_rows":6,"offset":0,"rows":[
これが私の問題であることがわかりましたが、それが何を意味するのか正確にはわかりません。 CouchDB から JSON を解析するときに「total_rows」を通過する方法
だから私の質問は:
すべてのjsonを含むlocalhost URLを/ getDocumentに取得して、プロジェクトの後半でjsonとそれぞれを取得できるようにするにはどうすればよいですか。
ありがとう!ご不明な点がございましたら、お問い合わせください。
ps:私の実験はこれでした:
var json = '{"total_rows":6,"offset":0,"rows":[
{"id":"American_Airlines","key":"American_Airlines","value":{"_id":"American_Airlines","_rev":"1-d915fad8f624769d274794717b60311f","name":"American_Airlines","industry":"Flight","employee_count":"820,712,807","revenue":"$1,219,280,981","lead_source":"Linkedin","use_case":"exec manag","sales_cycle":"80","adm":"Adm goes here","se":"Se goes here","path":"assets/upload-images/2013/08/1375890760.png","fileTime":"1375890760"}},
{"id":"Dicks_Sporting_Goods","key":"Dicks_Sporting_Goods","value":{"_id":"Dicks_Sporting_Goods","_rev":"1-90cc5645b417ba0658aa7dcf5d576a51","name":"Dicks_Sporting_Goods","industry":"Store","employee_count":"3,098,089","revenue":"$2,918,798","lead_source":"website","use_case":"seo, stuff, moar stuff","sales_cycle":"20","adm":"Adm goes here","se":"Se goes here","path":"assets/upload-images/2013/08/1375890818.png","fileTime":"1375890818"}},
{"id":"FedEx","key":"FedEx","value":{"_id":"FedEx","_rev":"2-709a9dba4723b77fb6c40b3f0110ef97","name":"FedEx","industry":"industy here","employee_count":"100,000,000,000,000","revenue":"$10,000,000,000,000,000,000","lead_source":"twitter","use_case":"use case","sales_cycle":"90","adm":"adm goes here","se":"se goes here","path":"assets/upload-images/2013/08/1375888322.png","fileTime":"1375888322"}},
{"id":"Five_Guys","key":"Five_Guys","value":{"_id":"Five_Guys","_rev":"1-936c3f2da5e20031d618b005e5080181","name":"Five_Guys","industry":"Burger Joint","employee_count":"452,342,362","revenue":"$2,352,235,235,234","lead_source":"linkedin","use_case":"Data","sales_cycle":"20","adm":"Adm goes here","se":"Se goes here","path":"assets/upload-images/2013/08/1375892543.png","fileTime":"1375892543"}},
{"id":"hulu","key":"hulu","value":{"_id":"hulu","_rev":"1-d60340fde35feabbf78463c28684f3e3","name":"hulu","industry":"Internet","employee_count":"124,243,521,346","revenue":"$34,624,573,467,245,643","lead_source":"Facebook","use_case":"unkown","sales_cycle":"333","adm":"Kenneth","se":"MEMMEMEME","path":"assets/upload-images/2013/08/1375892898.jpg","fileTime":"1375892898"}},
{"id":"jiffy_lube","key":"jiffy_lube","value":{"_id":"jiffy_lube","_rev":"1-6c6b6fe2213c541b9c437aa8c47286fd","name":"jiffy_lube","industry":"industy here","employee_count":"12,124,124,124","revenue":"$23,897,629,871","lead_source":"scrubs","use_case":"something ","sales_cycle":"90","adm":"Adm goes here","se":"Se goes here","path":"assets/upload-images/2013/08/1375890322.jpg","fileTime":"1375890322"}}
]}';
var obj = JSON.parse(json);
res.json(obj)
どの出力:
var json = '{"total_rows":6,"offset":0,"rows":[
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unexpected token ILLEGAL
PS: これは機能したので、問題は total_rows ですが、ローカルホストを別の URL に移動する方法を理解する必要があります。
var json = '{"id":"American_Airlines","key":"American_Airlines","value":{"_id":"American_Airlines","_rev":"1-d915fad8f624769d274794717b60311f","name":"American_Airlines","industry":"Flight","employee_count":"820,712,807","revenue":"$1,219,280,981","lead_source":"Linkedin","use_case":"exec manag","sales_cycle":"80","adm":"Adm goes here","se":"Se goes here","path":"assets/upload-images/2013/08/1375890760.png","fileTime":"1375890760"}}';
var obj = JSON.parse(json);
res.json(obj)
これはうまくいきましたが、私が言ったように、まだ主な問題を理解しようとしているので、total_rows の問題に焦点を当てます。すみません、まとめて複数質問してしまいました。それは人々を混乱させる可能性があると思います。
EDIT / ANSWER
Node.jsを使用してcouchdbからすべてのドキュメントを取得する
ここのこの投稿は私をとても助けてくれました!私が遭遇した多くの問題を解決しました。助けが必要な未来の人々のために。
db.view
私が探していたものです!ありがとうございました!