Unqlite NoSQL引擎有一个函数unqlite_kv_store(),它接受一个键和一个值来存储。有没有办法将C ++容器(例如列表,矢量,地图,数组)存储为值,然后在不使用文档格式的情况下检索它?
答案 0 :(得分:0)
除非容器的元素是连续的,即没有链接,没有指针,否则你不能将它存储在程序外部的任何内容中。
问题是您的程序或其数据可能会加载到内存中的不同地址。您保存在数据库中的地址(指针)不再有效。
一种方法是将项目存储在数组中,然后将数组存储为BLOB类型。
但是,关系数据库的更好解决方案是将容器存储为单独的表;或附加到单个表。查找"数据库中的密钥"。还要研究数据库规范化"。