最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

猫鼬,如何清空一个集合

IT培训 admin 3浏览 0评论

猫鼬,如何清空一个集合

我有以下hapi.js服务器

const Hapi = require('hapi')
const Mongoose = require('mongoose')
const Wreck = require('wreck');


const server = new Hapi.Server({
    "host": "localhost",
    "port": 3000
})

Mongoose.connect('mongodb://localhost/myDB', { useNewUrlParser: true })

const BlockModel = Mongoose.model('block', {
    height: Number,
    size: Number,
    time: Number
})

server.route({
    method: "GET",
    path: "/",
    handler: async (request, h) => {

        Mongoose.model.blocks.remove({});    //<------This is the part of the code I intend to use to delete the collection

        const { res, payload } = await Wreck.get('');
        let myJson = JSON.parse(payload.toString()).blocks
        console.log(myJson)
        for (let i = 0; i<myJson.length; i++) {
            var block = new BlockModel({  height: myJson[i].height, size: myJson[i].size, time: myJson[i].time });
            block.save();
        }
        console.log(myJson)

        return "test"
    }
})



server.start();

点是,它工作正常,并将所需的数据保存到我的集合,但是如果我不删除每次执行的数据,数据库将继续增长。所以我打算实现类似的东西

db.blocks.remove({}) //where blocks is my collection

哪个在mongo控制台中工作正常。但我找不到如何在代码中实现这一点

回答如下:

您可以将deleteMany运算符与空过滤器一起使用。

db.collection.deleteMany({})

或与您的模型:

await BlockModel.deleteMany({})

猫鼬,如何清空一个集合

我有以下hapi.js服务器

const Hapi = require('hapi')
const Mongoose = require('mongoose')
const Wreck = require('wreck');


const server = new Hapi.Server({
    "host": "localhost",
    "port": 3000
})

Mongoose.connect('mongodb://localhost/myDB', { useNewUrlParser: true })

const BlockModel = Mongoose.model('block', {
    height: Number,
    size: Number,
    time: Number
})

server.route({
    method: "GET",
    path: "/",
    handler: async (request, h) => {

        Mongoose.model.blocks.remove({});    //<------This is the part of the code I intend to use to delete the collection

        const { res, payload } = await Wreck.get('');
        let myJson = JSON.parse(payload.toString()).blocks
        console.log(myJson)
        for (let i = 0; i<myJson.length; i++) {
            var block = new BlockModel({  height: myJson[i].height, size: myJson[i].size, time: myJson[i].time });
            block.save();
        }
        console.log(myJson)

        return "test"
    }
})



server.start();

点是,它工作正常,并将所需的数据保存到我的集合,但是如果我不删除每次执行的数据,数据库将继续增长。所以我打算实现类似的东西

db.blocks.remove({}) //where blocks is my collection

哪个在mongo控制台中工作正常。但我找不到如何在代码中实现这一点

回答如下:

您可以将deleteMany运算符与空过滤器一起使用。

db.collection.deleteMany({})

或与您的模型:

await BlockModel.deleteMany({})

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论