Использование mongoose для записи и извлечения данных в бэкэнде nodejs

я новее о MongoDb и Node.Js.

Я должен проверить, существует ли актив, а затем (если он не существует) создать его.

Это схема актива

      var Schema = mongoose.Schema;

var AssetSchema = new Schema({
    name: String,
    creationDate: { type: Date, default: Date.now },
}, {collection: 'Assets'})

var Asset = mongoose.model('Asset', AssetSchema)

Проверить, существует ли актив

      async function assetExists(assetName, callback) {
    if(assetName){
        Asset.findOne({name: assetName}
            , function(err, asset){
                if(err){
                    callback(err, null);
                    console.log('Error on find asset '+assetName)
                } else {
                    callback(null, asset.name); //Using this I get the asset.name or undefined
                } 
            });
      }
  }

Создать новый

      async function addAsset(assetName, callback){
    if(assetName){
        var newAsset = new Asset({name: assetName})

        await newAsset.save( function(err, asset){
            if(err){
                callback(err, null);
                console.log('Error on add asset '+assetName)
            } 
        })
    }
}

Во всяком случае, я проверил, и ни один из этих двух методов не работает. Я думал, что это проблема с подключением, но подключение работает.

Я использую MongoDB Cloud, это строка подключения

      mongodb+srv://<username>:<password>@<clustername>.4ny68c7.mongodb.net/?retryWrites=true&w=majority

Что мне не хватает? Оба метода верны? Спасибо

0 ответов

Другие вопросы по тегам