Last active
August 29, 2015 14:06
-
-
Save zgramana/d2a93591608de3dbee4d to your computer and use it in GitHub Desktop.
Query Firstname / Lastname for names starting with G
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public void PutNPeople(Database db, int n) | |
{ | |
var lastNames = new[] { "Gramana", "Johnson", "Hunter", "Carter" }; | |
var firstNames = new[] { "Zack", "Bryan", "Greg", "Wayne" }; | |
for (int i = 0; i < n; i++) | |
{ | |
var doc = new Dictionary<string, object> | |
{ | |
{ "firstName", firstNames[i % 4] }, | |
{ "lastName", lastNames[i % 4] }, | |
{ "someRandomInt", new Random().Next() } | |
}; | |
var document = db.CreateDocument(); | |
document.PutProperties(doc); | |
} | |
// Include an example of hits on first & last names. | |
db.CreateDocument().PutProperties( | |
new Dictionary<string, object> | |
{ | |
{ "firstName", "Gary" }, | |
{ "lastName", "Gonzalez" }, | |
{ "someRandomInt", new Random().Next() } | |
} | |
); | |
} | |
[Test] | |
public void QueryPeopleStartingWithG() | |
{ | |
var db = Manager.SharedInstance.GetDatabase("foo"); | |
PutNPeople(db, 100); | |
var view = db.GetView("g-people"); | |
view.SetMap((doc, emit)=> | |
{ | |
object lastName; | |
if (doc.TryGetValue("lastName", out lastName)) | |
{ | |
emit(lastName, "lastName"); | |
} | |
object firstName; | |
if (doc.TryGetValue("firstName", out firstName)) | |
{ | |
emit(firstName, "firstName"); | |
} | |
}, "1"); | |
var query = new Query(db, view) | |
{ | |
StartKey = "G", | |
EndKey = "GZ" | |
}; | |
var results = query | |
.RunAsync() | |
.Result | |
.GroupBy( | |
row => | |
row.DocumentId, | |
row => | |
String.Format("{0} = {1}", row.Value, row.Key), | |
(key, vals) => | |
String.Format("{0}: {1}", key, String.Join(", ", vals)) | |
); | |
foreach(var result in results) | |
{ | |
Console.WriteLine(result); | |
} | |
} | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
95402d42-b02f-472f-abb7-51cb4df0069e: firstName = Gary, lastName = Gonzalez | |
5d98724b-2d53-487f-a907-801c5af822a2: lastName = Gramana | |
9aa2442f-6df5-4299-a46b-63b543760e54: lastName = Gramana | |
403f428a-e728-4041-a067-ce2d6072d2cf: lastName = Gramana | |
a901e7b3-52e8-453e-9fb6-4624897d57e1: lastName = Gramana | |
bd210d5c-47b5-4447-944a-604533c4114e: lastName = Gramana | |
aec7fdc4-cc16-4d96-a726-0a14a15c03e2: lastName = Gramana | |
4684a3af-2911-4bab-b67a-91ad98554f83: lastName = Gramana | |
aeda9487-bfd5-46fb-8e47-8c7290be3dfe: lastName = Gramana | |
c1033617-f8cc-4a38-a1bc-301e0f906a7a: lastName = Gramana | |
ccc406ab-6a58-4f7e-b976-fad527bd2d42: lastName = Gramana | |
188531f5-fd1f-44d7-b5aa-7f86db37d636: lastName = Gramana | |
5f3f0ff1-4c33-48c8-b6de-7f2594dd4f4a: lastName = Gramana | |
9e87e8d9-4f08-499e-b2ed-a26733a95e8b: lastName = Gramana | |
b3115ab3-13fb-4add-b82a-63a1deb783eb: lastName = Gramana | |
3ac87483-3e84-499c-b1f8-a498f5dd5eb6: lastName = Gramana | |
843b7788-f859-4b38-93f1-171dcf37ab9e: lastName = Gramana | |
bacd4fd7-dccc-42a5-bfbc-b37230c7b23a: lastName = Gramana | |
4bce2eaa-71b7-4c5d-8795-e2d8de05faad: lastName = Gramana | |
f4491cda-fd01-4769-a75c-80dc7df9bce4: lastName = Gramana | |
a38d54a5-d144-4f13-bd33-ba03fa9df1e1: lastName = Gramana | |
9c078679-2201-4e61-bb9c-ca8a69748780: lastName = Gramana | |
5b4b39f1-7363-4bcb-af89-0defb10e7a94: lastName = Gramana | |
6fc7808a-0c49-4f43-b511-b8308f5cf465: lastName = Gramana | |
22d2d482-2f80-4700-a897-01e26c6111d6: lastName = Gramana | |
4076ec76-595a-4a70-ac3d-3408e48bfffe: lastName = Gramana | |
aa7992e3-f0c4-411b-b309-a8e5eecdeca6: firstName = Greg | |
97c018f8-9ded-47ff-81d9-706fd13c5cb0: firstName = Greg | |
faca1c16-3b48-4382-b348-9975261b1780: firstName = Greg | |
5833ba65-d297-41ad-b077-f6d14ef87e6d: firstName = Greg | |
b3ea0a65-95fc-46d1-99b9-f1fa01c6e5bc: firstName = Greg | |
3997d012-19b9-4ec9-b178-f8904a337ea6: firstName = Greg | |
fb7c1983-b65e-4d1b-8fbe-98c1b4352ff8: firstName = Greg | |
1a104d92-5e52-40fd-bef0-9b8faf5d5aa7: firstName = Greg | |
201af5be-9472-45cc-869b-42292e78c6db: firstName = Greg | |
a08e9b9b-9c94-4d83-bdab-39fcd4004bdb: firstName = Greg | |
8e3d44e2-1f82-4d4b-a897-35c851e71156: firstName = Greg | |
af6126a7-cd1a-438c-912f-c5995430d221: firstName = Greg | |
3da239ea-2adc-4045-85e7-7d5f41f4f391: firstName = Greg | |
8606bb56-94a3-4737-8f8b-e89308b39eb6: firstName = Greg | |
91813d0a-631e-444d-ba76-d44c3c9c0bac: firstName = Greg | |
922215ac-8064-419c-b24d-492340e5e3f4: firstName = Greg | |
1add133a-2fa3-4354-841d-ac353606eba6: firstName = Greg | |
26269eec-b973-43e6-aae1-347608a74f77: firstName = Greg | |
155bce9b-c986-404a-8a89-a9f2c7cdbb96: firstName = Greg | |
16737868-5571-49d3-8846-4e9fe5992980: firstName = Greg | |
bbaff312-e64e-4142-bc4f-fe5b1b435408: firstName = Greg | |
fc3c35c7-c66b-4766-8ea0-ec9628172ef6: firstName = Greg | |
4099ecbe-c541-4878-b701-a6ef5aef84f9: firstName = Greg | |
fff6c41b-38a0-417b-a83b-8352cd95c038: firstName = Greg | |
05ea72c0-eaef-4925-9356-ac4d3e5752cb: firstName = Greg |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment