다음 bash는 스크립트를 사용하여 DB를 만들기 :거의 동일한 뷰에서 부동 소수점 정밀도가 다릅니 까?
#! /bin/bash
curl -X PUT http://127.0.0.1:5984/sales
IFS=$';'
vals=`cat sales_upload.json`
for i in $vals
do
curl -X POST http://127.0.0.1:5984/sales -H "Content-Type: application/json" -d $i
done
unset IFS
및 리소스 파일 :
{
"Type" : "customer",
"LastName" : "Welsh",
"FirstName" : "Jim",
"Address" : "340 West 50th Street, New York, NY",
"TotalSpent" : 734.34
};
{
"Type" : "customer",
"LastName" : "Zuch",
"FirstName" : "Bo",
"Address" : "116 10th Avenue, New York, NY",
"TotalSpent" : 1102.47
};
{
"Type" : "customer",
"LastName" : "Libby",
"FirstName" : "Joe",
"Address" : "611 Fifth Avenue, New York, NY",
"TotalSpent" : 290.01
};
{
"Type" : "customer",
"LastName" : "Grant",
"FirstName" : "Sue",
"Address" : "7 West 55th Street, Manhattan, NY",
"TotalSpent" : 430.83
};
{
"Type" : "salesman",
"LastName" : "Green",
"FirstName" : "Gwen",
"Level" : 1
};
{
"_id" : "_design/logic",
"language" : "javascript",
"views" :
{
"customers": {
"map" : "function(doc) { if (doc.Type == 'customer') emit(null, {LastName: doc.LastName, FirstName: doc.FirstName, Address: doc.Address}) }"
},
"total_purchases": {
"map" : "function(doc) { if (doc.Type == 'customer') emit(null, doc.TotalSpent) }",
"reduce" : "function(keys, values) { return sum(values) }"
}
}
}
내가 를 호출 컬 -X 내가 얻을 http://127.0.0.1:5984/sales/_design/logic/_view/total_purchases
을 GET :
을 { "행": [{ "키": null, "값": 2557.65}]}
하지만 total_purchases의 난 (doc.LastName, doc.TotalSpent)을 방출하는 발광의 최초의 파라미터를 변경하는 경우, 그때 얻을 것이다
{ "행" [{ "키"널 (null), "값"2557.6499999999996}]} 왜 그렇게
?
알다시피, 고객 수를 7로 늘리면 키 필드가 null 인 경우에도 출력 결과가 잘못 표시됩니다. 그러나 어쨌든 감사와 +1. – Yola
방금 더 추가하나요? 그것은 여전히 '증분'일 수있었습니다. erlang _sum 함수를 사용해 보셨습니까? –