如何使用 mongoose 将我的收藏放在 mongoDB 中?

Posted

技术标签:

【中文标题】如何使用 mongoose 将我的收藏放在 mongoDB 中?【英文标题】:how can I drop my collection in mongoDB using mongoose? 【发布时间】:2018-09-13 04:42:00 【问题描述】:

我已使用以下代码连接到 MongoDB。

mongoose.connect('mongodb://localhost:27017/samplecustomfields')
.then(() => console.log('MongoDB Connected...'))
.catch(err => console.log(err));

我在 app.js 文件中创建了模式模型和加载模型。你可以看到下面的代码

const customfields = [

  'id': 104,
  'name': '[Sample] Utility Caddy',
  'customfields': [
      
          'id': 7,
          'product_id': 104,
          'name': 'Sample Utility',
          'text': 'canddy ofsuc'
      
 
]
require('./models/customfieldlists');
const productfields = mongoose.model('fields');

app.get('/api/products', (req, res, next) => 
productfields.insertMany(customfields, function(error, docs) 
  console.log('done');
);
res.send(customfields);
);

如何先删除我的“字段”集合,然后再调用“insertMany”查询。每次我收到“/api/products”这个请求时都会发生这种情况。

我已经把代码“productfields.dropCollection('fields');”上面的 insertMany 查询,但它不起作用。

【问题讨论】:

【参考方案1】:
app.get('/api/products', (req, res, next) => 
    // Drop the 'fields' collection from the current database
    mongoose.connection.db.dropCollection('fields', function(err, result) 
         productfields.insertMany(customfields, function(error, docs) 
         console.log('done');
         res.send(customfields);
         );
    );
);

希望对你有帮助。

【讨论】:

【参考方案2】:

我从下面的 URL 发现没有使用 mongoose 删除集合的方法,但您可以从集合中删除数据。

How to drop a database with Mongoose?

下面是解决我问题的代码

productfields.remove(, function(err) 
    productfields.insertMany(customfields, function(error, docs) 
        res.send(docs);
     );
);

【讨论】:

以上是关于如何使用 mongoose 将我的收藏放在 mongoDB 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何将我的标题放在 ImageView 的顶部

Android 如何使用 Proguard 将我的所有类放在一个包中

如何将我的 JTextField 放在垂直对齐上

如何将我的申请放在首位?

如何将我的移动视图放在容器流体中,将桌面站点放在容器中?

如何将我的图标放在页面中间并将文本放在图标下方?