Den typiske iPhone-arkitektur er at få din applikation til at kalde ud til en webtjeneste. Selvom det er muligt at bruge en MongoDB-driver direkte fra en mobilklient, vil jeg ikke anbefale det. Af et par grunde.
Du taler grundlæggende om at lave klientserverarkitektur, hvor din klientapplikation taler direkte til datalageret (MongoDB). Hvad med sikkerheden? Når en godkendt klient taler direkte til datalageret, kan der ske alle mulige dårlige ting.
En tæt kobling af din klientapplikation direkte til enhver given dataadgangsteknologi er farlig, da det ville kræve, at du omskriver din klient, hvis du af en eller anden grund skulle ændre din dataadgangsløsning.
Det er mere almindeligt i disse dage at få dine klientapplikationer til at gå gennem et dataadgangsniveau, og når internettet er involveret involverer dette niveau ofte en webservice af en slags, medmindre du ønsker at få albuer dybt at skrive serverkode.
Tænk på at skrive et RESTful api, der eksponerer dit datalager for din iPhone-klient. Jeg har hørt gode ting om Åben Rasta (C# REST bibliotek)
Rediger - Mere om hosting af MongoDB på iPhone
Beklager, jeg forstod ikke, at du ønsker at køre MongoDB lokalt på iPhone. MongoDB er en server. Jeg tror ikke på, at det kan integreres som et datalager i processen. Og det er ikke muligt at køre mere end én proces på iPhone.
Hvis du er fortrolig med C#, kan du prøve MonoTouch . Det giver dig mulighed for at køre C#-applikationer på iPhone. Der er et godt bibliotek til brug af SqlLite som understøttes af iPhone.