首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何永久删除forerunnerdb中的集合?

如何永久删除forerunnerdb中的集合?
EN

Stack Overflow用户
提问于 2016-05-12 22:04:31
回答 2查看 276关注 0票数 0

我尝试对for循环中的每个集合项使用remove(),这似乎是成功的。但是,项目仍然在集合中。如果有一种方法可以通过JavaScript来完成,我很乐意完全删除这个集合。

以下是console.log中每个remove() -之后返回的对象:

代码语言:javascript
复制
 deleted ID1[object Object]
 dbsetup.js:304 1 - deleted ID2[object Object]
 dbsetup.js:304 2 - deleted ID1ee7978aa5ddc20[object Object]
 dbsetup.js:304 3 - deleted ID2899af1e797ff00[object Object]
 dbsetup.js:304 4 - deleted ID2234cd96dac8380[object Object]
 dbsetup.js:304 5 - deleted ID348a5bcd5f0f600[object Object]
 dbsetup.js:304 6 - deleted ID490930bb2589c80[object Object]

下面是我的函数,它使用了forerunner的remove():

代码语言:javascript
复制
function removeAllGames() {
    var gameArray = games.find();
    var gameID;
    var deletedObject;
    var len = gameArray.length;

   for (var i=0;i<len;i++) {
       gameID = gameArray[i]._id;

       deletedObject = games.remove({
            _id: gameID
       });
       console.log(i + " - " + "deleted ID" + gameID + deletedObject);
    }
}

我会报告我的进展-谢谢你的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-12 22:28:29

我想出来了!我需要在remove()函数之后使用save()函数。执行此操作后,将永久离开集合中的项。我仍然需要弄清楚如何删除集合本身,但就目前而言,这足以完成工作。

我建议查看前身b教程,而不仅仅是依赖于github上的文档(就像我以前那样)。本教程给出了如何正确保存的工作示例。

票数 1
EN

Stack Overflow用户

发布于 2016-06-15 09:56:30

ForerunnerDB在内存中工作。这意味着,如果从持久存储加载数据,然后通过ForerunnerDB的CRUD方法(插入、更新、删除)修改数据,则需要修改内存中的数据。

如果希望新版本的数据覆盖当前持久化的数据,则需要调用.save()。

为了明确使用情况,collection.remove()将从集合中删除所有文档,但在调用.save()之后,它不会将该删除保存到存储中。

持久存储是ForerunnerDB的插件,而不是内置到核心的插件,因为ForerunnerDB的主要用途是作为处理JSON数据的内存存储,一些用户可能不希望持久化。这就是为什么您必须调用.load()和.save()分别从持久存储加载数据和将数据保存在那里。

CRUD调用(如insert()和remove() )正在与ForerunnerDB的核心对话,而load()和save()方法则在与持久性插件对话。

(来源:我写了ForerunnerDB和所有插件)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37198231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档