回答
PouchDB是爲瀏覽器而構建的,所以它可能會在React Native上工作一點點。
您或許可以在PouchDB中使用asyncstorage-down。通常the method for using LevelDOWN adapters in Node.js是像這樣:
var PouchDB = require('pouchdb');
var db = new PouchDB('mydb', {db: require('asyncstorage-down')})
我沒有測試過這一點,雖然。
編輯:好幸運,你;最近已經投入了大量的工作:pouchdb-async-storage。很快就會有一篇關於如何實現這一功能的博客文章。
pouchdb-async-storage是否仍在維護?看起來在6個月內沒有提交。我正在大量考慮在大規模反應本機應用程序中使用它,但我有點害怕pouchdb /反應本機的兼容性問題,我發現所有的網絡。 – A2345sooted 2016-03-23 17:14:37
(我是原作者)不,它不是超級維護。如果我有一些時間,我可能會改爲使用SQLite路由,即https://github.com/nolanlawson/node-websql#custom-sqlite3-implementation與https://github.com/almost/react- native-sqlite(事實上它可能已經工作了)。 – nlawson 2016-03-29 14:37:25
您可以在SQLLite上輕鬆實現PouchDB - 它有幾種配置選擇。你可能需要一個SQLite插件來使它工作。事實上,我已經爲科爾多瓦這樣做了,而且效果很好。我相信PouchDB(這是純粹的JavaScript,因此可以直接用於ReactNative),它有一個可以與全功能的SQLite3插件一起使用的適配器。
陣營這個插件的原生版本可以在這裏找到:
https://github.com/andpor/react-native-sqlite-storage
原科爾多瓦插件的鏈接可以在GitHub上的項目也被發現。
我必須拿回來。在JS方面似乎存在一系列需求問題,這使得基於PouchDB的解決方案現在不可行。 – Moonwalker 2015-11-02 14:55:08
一些剛剛在npm上發佈了React Native PouchDB模塊,它使用react-native-sqlite-storage作爲插件。 https://www.npmjs.com/package/react-native-pouchdb – Moonwalker 2016-04-27 12:53:28
我嘗試使用Stockulus的異步存儲適配器(https://github.com/stockulus/pouchdb-react-native),但在複製到遠程CouchDB服務器時出現問題。
我現在用的陣營本地的SQLite存儲(https://github.com/andpor/react-native-sqlite-storage)和PouchDB自定義生成模式(https://pouchdb.com/2016/06/06/introducing-pouchdb-custom-builds.html)是這樣的:
'use strict';
import PouchDB from 'pouchdb-core'
// POLYFILLS - adapted from https://github.com/pouchdb/pouchdb/issues/3787#issuecomment-234618747
global.Buffer = global.Buffer || require('buffer').Buffer;
global.atob = global.atob || require('atob');
global.btoa = global.btoa || require('btoa');
require('blob-polyfill');
import SQLite from 'react-native-sqlite-storage';
global.openDatabase = SQLite.openDatabase; // Expose for websql adapter
GLOBAL.openDatabase = SQLite.openDatabase;
PouchDB
.plugin(require('pouchdb-adapter-websql'))
.plugin(require('pouchdb-adapter-http'))
.plugin(require('pouchdb-replication'))
export default PouchDB
我知道全球是醜陋的。我們剛開始使用它,並且複製工作更好。我們還必須填充一堆節點的東西。這由pouchdb-core使用,但未在pouchdb-core中指定爲依賴。會愛反饋。
目前使用的這些軟件包:
"events": "^1.1.1",
"pouchdb-adapter-http": "6.0.6",
"pouchdb-adapter-websql": "6.0.6",
"pouchdb-core": "6.0.6",
"pouchdb-replication": "6.0.6",
"atob": "^2.0.3",
"blob-polyfill": "^1.0.20150320",
"btoa": "^1.1.2",
"buffer": "^5.0.0",
感謝
- 1. 在Solr中存儲原始HTML文件
- 2. 對於原始文本是否有任何數字wartermark技術?
- 3. Solr索引後是否存儲文檔的原始內容?
- 4. .NET是否有任何KeyValue存儲?
- 5. Java:是否可以將原始數據存儲在源文件中?
- 6. Android:原始資源是否存儲在本地文件系統上?
- 7. 用反應保存文件原生
- 8. 是否有任何作爲Prolog原型開始的項目
- 9. 簡單的原始代碼是否有任何wysiwyg編輯器?
- 10. 任何方式來解壓文件在反應原生
- 11. 是否有任何開源的聊天室通過反應原生?
- 12. 如何將原始數據存儲在圖像文件中?
- 13. 是否有任何開源的配置文件存在android
- 14. 如何檢查nsfilemanager中是否存在任何現有文件?
- 15. FireFox或Chrome會在緩存中存儲原始HTML文件嗎?
- 16. 是否有可能在BitBucket上獲取原始文件?
- 17. C或C++中是否有任何原始TCP庫?
- 18. 如何在Android中獲取原始文件夾路徑以反應原生?
- 19. 如何將內存轉儲到Ollydbg中的原始文件?
- 20. Android:是否有任何內部文件存儲可能導致IOException的用例?
- 21. 嘗試保存到文件時沒有任何反應? python 2.7
- 22. 是否有可能產生的原始文件從的WebPack
- 23. 文件沒有定義反應原生
- 24. 如何知道存儲庫中是否有任何文件被檢出
- 25. 是否有任何可能使用PureRenderMixin在反應本土
- 26. 是否有Android的原始文件大小限制?
- 27. 原生反應:始終運行組件
- 28. 是否file_get_contents存儲任何數據
- 29. 是否反應原生模塊發送事件到javascript文檔是否正確?
- 30. ASP.Net是否有任何反XSS庫?
是的,我見過。這不是文件存儲。 – mrded 2015-05-02 15:52:21
我可以問一下你可以用一個不能用SQLite做的文檔存儲來做什麼? – 2015-11-03 02:35:21
存儲非結構化數據並能夠輕鬆搜索這些數據的集合? – Moonwalker 2016-04-27 12:54:19