How to delete a Collection in LokiJS












1















I been working on LokiJS on Node recently, And I could'nt find a command that deletes the entire Collection itself,



I tried with these commands with an assumption it would exist, I could not find any docs/ samples to delete a collection.



// let result = this.db.dropCollection(collectionName);
// let result = this.db.removeCollection(collectionName);
// let result = this.db.deleteCollection(collectionName);



Other way around I know I can achieve the same by reading the file and removing the entire object, But is there a built-in LokiJS function?










share|improve this question





























    1















    I been working on LokiJS on Node recently, And I could'nt find a command that deletes the entire Collection itself,



    I tried with these commands with an assumption it would exist, I could not find any docs/ samples to delete a collection.



    // let result = this.db.dropCollection(collectionName);
    // let result = this.db.removeCollection(collectionName);
    // let result = this.db.deleteCollection(collectionName);



    Other way around I know I can achieve the same by reading the file and removing the entire object, But is there a built-in LokiJS function?










    share|improve this question



























      1












      1








      1








      I been working on LokiJS on Node recently, And I could'nt find a command that deletes the entire Collection itself,



      I tried with these commands with an assumption it would exist, I could not find any docs/ samples to delete a collection.



      // let result = this.db.dropCollection(collectionName);
      // let result = this.db.removeCollection(collectionName);
      // let result = this.db.deleteCollection(collectionName);



      Other way around I know I can achieve the same by reading the file and removing the entire object, But is there a built-in LokiJS function?










      share|improve this question
















      I been working on LokiJS on Node recently, And I could'nt find a command that deletes the entire Collection itself,



      I tried with these commands with an assumption it would exist, I could not find any docs/ samples to delete a collection.



      // let result = this.db.dropCollection(collectionName);
      // let result = this.db.removeCollection(collectionName);
      // let result = this.db.deleteCollection(collectionName);



      Other way around I know I can achieve the same by reading the file and removing the entire object, But is there a built-in LokiJS function?







      javascript node.js node-modules lokijs






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 23 '18 at 12:57









      Teemu

      18.5k63773




      18.5k63773










      asked Nov 23 '18 at 12:06









      Mahesh KumaranMahesh Kumaran

      616




      616
























          1 Answer
          1






          active

          oldest

          votes


















          2














          To delete a collection you need to use the removeCollection() method on the main Loki object. See docs here.



          For example, if you have your Loki instance initialized like this:



          const loki = require('lokijs');
          const lokidb = new loki();

          // Add a collection (that we will remove later)
          let myCollection = lokidb.addCollection('myCollection');


          Now lokidb is your main loki object, and this is the object that you need to execute the removeCollection() from.



          // Let's remove the collection
          lokidb.removeCollection('myCollection');

          // * poof * ....
          // myCollection is now gone

          // To make sure that this deleting change is persisted (if necessary)
          lokidb.saveDatabase();


          I don't know exactly how you have your loki db set up, but hopefully this example helps.






          share|improve this answer





















          • 1





            I tried the same , but din't work, am i missing anything else ?

            – Mahesh Kumaran
            Jan 9 at 12:01











          • Can you share a full example of your code, on a code pen, or a gist?

            – Adam D
            Jan 10 at 10:23






          • 1





            Hey , i just found what the issue was , lokidb.saveDatabase(); actually reflects the changes, infact i kept the autosave interval very less , still dint work - lokidb.saveDatabase();did the trick !! Thanks for the help !!

            – Mahesh Kumaran
            Jan 21 at 9:39











          • @MaheshKumaran Glad you figured that out. I added your step in case any others have issues with persistence and autoSave like you did. If you want, check the answer as solved to help others. :-)

            – Adam D
            Jan 21 at 12:35











          • Even with db.card.findAndRemove({guid}); await new Promise((resolve, reject) => { db.loki.saveDatabase((err) => err ? reject(err) : resolve()); }); console.log(db.card.find({guid})); still doesn't work.

            – Polv
            Mar 28 at 18:50












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53446432%2fhow-to-delete-a-collection-in-lokijs%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          2














          To delete a collection you need to use the removeCollection() method on the main Loki object. See docs here.



          For example, if you have your Loki instance initialized like this:



          const loki = require('lokijs');
          const lokidb = new loki();

          // Add a collection (that we will remove later)
          let myCollection = lokidb.addCollection('myCollection');


          Now lokidb is your main loki object, and this is the object that you need to execute the removeCollection() from.



          // Let's remove the collection
          lokidb.removeCollection('myCollection');

          // * poof * ....
          // myCollection is now gone

          // To make sure that this deleting change is persisted (if necessary)
          lokidb.saveDatabase();


          I don't know exactly how you have your loki db set up, but hopefully this example helps.






          share|improve this answer





















          • 1





            I tried the same , but din't work, am i missing anything else ?

            – Mahesh Kumaran
            Jan 9 at 12:01











          • Can you share a full example of your code, on a code pen, or a gist?

            – Adam D
            Jan 10 at 10:23






          • 1





            Hey , i just found what the issue was , lokidb.saveDatabase(); actually reflects the changes, infact i kept the autosave interval very less , still dint work - lokidb.saveDatabase();did the trick !! Thanks for the help !!

            – Mahesh Kumaran
            Jan 21 at 9:39











          • @MaheshKumaran Glad you figured that out. I added your step in case any others have issues with persistence and autoSave like you did. If you want, check the answer as solved to help others. :-)

            – Adam D
            Jan 21 at 12:35











          • Even with db.card.findAndRemove({guid}); await new Promise((resolve, reject) => { db.loki.saveDatabase((err) => err ? reject(err) : resolve()); }); console.log(db.card.find({guid})); still doesn't work.

            – Polv
            Mar 28 at 18:50
















          2














          To delete a collection you need to use the removeCollection() method on the main Loki object. See docs here.



          For example, if you have your Loki instance initialized like this:



          const loki = require('lokijs');
          const lokidb = new loki();

          // Add a collection (that we will remove later)
          let myCollection = lokidb.addCollection('myCollection');


          Now lokidb is your main loki object, and this is the object that you need to execute the removeCollection() from.



          // Let's remove the collection
          lokidb.removeCollection('myCollection');

          // * poof * ....
          // myCollection is now gone

          // To make sure that this deleting change is persisted (if necessary)
          lokidb.saveDatabase();


          I don't know exactly how you have your loki db set up, but hopefully this example helps.






          share|improve this answer





















          • 1





            I tried the same , but din't work, am i missing anything else ?

            – Mahesh Kumaran
            Jan 9 at 12:01











          • Can you share a full example of your code, on a code pen, or a gist?

            – Adam D
            Jan 10 at 10:23






          • 1





            Hey , i just found what the issue was , lokidb.saveDatabase(); actually reflects the changes, infact i kept the autosave interval very less , still dint work - lokidb.saveDatabase();did the trick !! Thanks for the help !!

            – Mahesh Kumaran
            Jan 21 at 9:39











          • @MaheshKumaran Glad you figured that out. I added your step in case any others have issues with persistence and autoSave like you did. If you want, check the answer as solved to help others. :-)

            – Adam D
            Jan 21 at 12:35











          • Even with db.card.findAndRemove({guid}); await new Promise((resolve, reject) => { db.loki.saveDatabase((err) => err ? reject(err) : resolve()); }); console.log(db.card.find({guid})); still doesn't work.

            – Polv
            Mar 28 at 18:50














          2












          2








          2







          To delete a collection you need to use the removeCollection() method on the main Loki object. See docs here.



          For example, if you have your Loki instance initialized like this:



          const loki = require('lokijs');
          const lokidb = new loki();

          // Add a collection (that we will remove later)
          let myCollection = lokidb.addCollection('myCollection');


          Now lokidb is your main loki object, and this is the object that you need to execute the removeCollection() from.



          // Let's remove the collection
          lokidb.removeCollection('myCollection');

          // * poof * ....
          // myCollection is now gone

          // To make sure that this deleting change is persisted (if necessary)
          lokidb.saveDatabase();


          I don't know exactly how you have your loki db set up, but hopefully this example helps.






          share|improve this answer















          To delete a collection you need to use the removeCollection() method on the main Loki object. See docs here.



          For example, if you have your Loki instance initialized like this:



          const loki = require('lokijs');
          const lokidb = new loki();

          // Add a collection (that we will remove later)
          let myCollection = lokidb.addCollection('myCollection');


          Now lokidb is your main loki object, and this is the object that you need to execute the removeCollection() from.



          // Let's remove the collection
          lokidb.removeCollection('myCollection');

          // * poof * ....
          // myCollection is now gone

          // To make sure that this deleting change is persisted (if necessary)
          lokidb.saveDatabase();


          I don't know exactly how you have your loki db set up, but hopefully this example helps.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Jan 21 at 12:33

























          answered Jan 1 at 18:08









          Adam DAdam D

          423215




          423215








          • 1





            I tried the same , but din't work, am i missing anything else ?

            – Mahesh Kumaran
            Jan 9 at 12:01











          • Can you share a full example of your code, on a code pen, or a gist?

            – Adam D
            Jan 10 at 10:23






          • 1





            Hey , i just found what the issue was , lokidb.saveDatabase(); actually reflects the changes, infact i kept the autosave interval very less , still dint work - lokidb.saveDatabase();did the trick !! Thanks for the help !!

            – Mahesh Kumaran
            Jan 21 at 9:39











          • @MaheshKumaran Glad you figured that out. I added your step in case any others have issues with persistence and autoSave like you did. If you want, check the answer as solved to help others. :-)

            – Adam D
            Jan 21 at 12:35











          • Even with db.card.findAndRemove({guid}); await new Promise((resolve, reject) => { db.loki.saveDatabase((err) => err ? reject(err) : resolve()); }); console.log(db.card.find({guid})); still doesn't work.

            – Polv
            Mar 28 at 18:50














          • 1





            I tried the same , but din't work, am i missing anything else ?

            – Mahesh Kumaran
            Jan 9 at 12:01











          • Can you share a full example of your code, on a code pen, or a gist?

            – Adam D
            Jan 10 at 10:23






          • 1





            Hey , i just found what the issue was , lokidb.saveDatabase(); actually reflects the changes, infact i kept the autosave interval very less , still dint work - lokidb.saveDatabase();did the trick !! Thanks for the help !!

            – Mahesh Kumaran
            Jan 21 at 9:39











          • @MaheshKumaran Glad you figured that out. I added your step in case any others have issues with persistence and autoSave like you did. If you want, check the answer as solved to help others. :-)

            – Adam D
            Jan 21 at 12:35











          • Even with db.card.findAndRemove({guid}); await new Promise((resolve, reject) => { db.loki.saveDatabase((err) => err ? reject(err) : resolve()); }); console.log(db.card.find({guid})); still doesn't work.

            – Polv
            Mar 28 at 18:50








          1




          1





          I tried the same , but din't work, am i missing anything else ?

          – Mahesh Kumaran
          Jan 9 at 12:01





          I tried the same , but din't work, am i missing anything else ?

          – Mahesh Kumaran
          Jan 9 at 12:01













          Can you share a full example of your code, on a code pen, or a gist?

          – Adam D
          Jan 10 at 10:23





          Can you share a full example of your code, on a code pen, or a gist?

          – Adam D
          Jan 10 at 10:23




          1




          1





          Hey , i just found what the issue was , lokidb.saveDatabase(); actually reflects the changes, infact i kept the autosave interval very less , still dint work - lokidb.saveDatabase();did the trick !! Thanks for the help !!

          – Mahesh Kumaran
          Jan 21 at 9:39





          Hey , i just found what the issue was , lokidb.saveDatabase(); actually reflects the changes, infact i kept the autosave interval very less , still dint work - lokidb.saveDatabase();did the trick !! Thanks for the help !!

          – Mahesh Kumaran
          Jan 21 at 9:39













          @MaheshKumaran Glad you figured that out. I added your step in case any others have issues with persistence and autoSave like you did. If you want, check the answer as solved to help others. :-)

          – Adam D
          Jan 21 at 12:35





          @MaheshKumaran Glad you figured that out. I added your step in case any others have issues with persistence and autoSave like you did. If you want, check the answer as solved to help others. :-)

          – Adam D
          Jan 21 at 12:35













          Even with db.card.findAndRemove({guid}); await new Promise((resolve, reject) => { db.loki.saveDatabase((err) => err ? reject(err) : resolve()); }); console.log(db.card.find({guid})); still doesn't work.

          – Polv
          Mar 28 at 18:50





          Even with db.card.findAndRemove({guid}); await new Promise((resolve, reject) => { db.loki.saveDatabase((err) => err ? reject(err) : resolve()); }); console.log(db.card.find({guid})); still doesn't work.

          – Polv
          Mar 28 at 18:50




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53446432%2fhow-to-delete-a-collection-in-lokijs%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Xamarin.form Move up view when keyboard appear

          Post-Redirect-Get with Spring WebFlux and Thymeleaf

          Anylogic : not able to use stopDelay()