我正在使用sqlite3
NPM 包。我想将 JSON 存储在我的数据库列之一中。据我所知,SQLite本身能够存储JSONhttps://www.sqlite.org/json1.html https://www.sqlite.org/json1.html,但我不一定确定如何通过 Node.js 来做到这一点。
有没有人遇到过这种情况之前,使用sqlite3
NPM包存储JSON?使用轻量级 NoSQL 数据库会更好吗?
sqlite3 包默认支持 Sqlite JSON1 扩展。稍微修改一下 sqlite3 包提供的示例:
const sqlite3 = require('sqlite3').verbose();
const db = new sqlite3.Database(':memory:');
db.serialize(function() {
db.run('CREATE TABLE lorem (info TEXT)');
let stmt = db.prepare('INSERT INTO lorem VALUES(json(?))');
for (let i=0; i<10; i++) {
stmt.run(JSON.stringify({ a: i }));
}
stmt.finalize();
db.each('SELECT rowid AS id, json_extract(info, \'$.a\') AS info FROM lorem', function(err, row) {
console.log(row.id + ": " + row.info);
});
});
请注意,对于某些包配置或安装,默认情况下可能不包含 JSON1 扩展。如果这对您不起作用,请参阅迈克·哈迪对此答案的评论。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)