Я младший разработчик и занимаюсь разработкой REST-сервиса с использованием Node JS, Express, MongoDB на Azure.
В моем первом сервисе отдыха, который я разработал, я всегда разрабатывал с использованием Mongoose, но теперь я увидел, что есть некоторая проблема с использованием mongoose на Cosmos DB.
Подключение к Космосу БД Node js работает с MongoDb mongoclient. Я создал файл db.js:
var mongoClient = require("mongodb").MongoClient;
mongoClient.connect("mongodb://dbname:xxxxxxxx@dbname.documents.azure.com:10255/?ssl=true", function (err, db) {
db.close();
});
module.exports = mongoClient;
и я определил модель:
var mongoClient = require('../config/db.js');
var ProfileSchema = mongoClient.Schema({
companyName: { type: String, required: true },
firstname: {type: String, required: true},
address: {type: String, required: true},
city: {type: String, required: true},
state: {type: String, required: false},
postalcode: {type: String, required: true},
country: {type: String, required: true},
telephone: {type: String, required: true},
email: {type: String, required: true}
});
mongoClient.model('Profile', ProfileSchema);
module.exports = mongoClient.model('Profile');
объявление это мой роутер:
var Profile = require('../models/Profile');
router.get('/profile', function(req,res){
Profile.find({}, (err, profile) => {
if (err) {
console.log(err);
return res.status(400).send({ status: 'ko', data: {msg: err.message }});
}
res.status(200).send({status: 'ok', data: {msg: 'List', profile: profile}});
});
});
Теперь, когда я пытался запустить приложение, я получаю эту ошибку:
mongoClient.Schema не является функцией
Я не знаю, если мой код в порядке?
Как я могу это исправить?
Спасибо
Лучший