简介
Mongoose是MongoDB和Node.js的对象数据建模(ODM)库,是Nodejs开发人员熟悉的最常见库之一。 Mongoose已被广泛用于REST应用程序,GraphQL的到来是API的一种查询语言,可以准确地获得您需要的内容,一个简单的接口似乎都丢失了。
要填补此空白并自动从Mongoose模型生成GraphQl Server,并为所有模型提供了对深嵌套种群的支持的基本CRUD操作,我创建了此库mongoose-graphql-server。
入门
开始使用此库,并在Mongoose模型上使用GraphQl生成CRUD。
注意:假设MongoDB是在本地安装的,或者需要相应地更改连接字符串,以使用免费的Cloud Mongdb数据库Checkout MongoDB Atlas
进行测试。为项目制作目录。
在该目录中启动了一个新的Nodejs使用NPM或YARN
使用NPM
$ npm init -y
用纱线
$ yarn init -y
安装所需的依赖项
$ npm install mongoose mongoose-graphql-server --save
或
$ yarn add mongoose mongoose-graphql-server
为服务器代码创建文件index.js
const mongoose = require('mongoose');
const {
generateSchema,
createGraphQLServer,
} = require('mongoose-graphql-server');
const PORT = process.env.port || 3000;
mongoose.connect('mongodb://localhost/test');
const db = mongoose.connection;
const init = async () => {
// Register models
const userModel = mongoose.model('user', {name: String, age: Number});
const catModel = mongoose.model('cat', {name: String});
// Build the schema
const schema = generateSchema(mongoose);
// Create the graphQL server
const app = await createGraphQLServer(schema);
// Start the server
app.listen(PORT, () => {
console.log(
`??? The server is running at http://localhost:${PORT}/`,
`The GraphQL explorer is running at http://localhost:${PORT}/graphql`
);
});
};
db.once('open', init);
使用
启动服务器
$ node index.js
如果没有错误,请前往GraphQL endpoint开始使用GraphQl Explorer探索。
这只是一个基本的介绍,可以在mongoose-graphql-server或GitHub repository
上找到更多的文档和示例任何类型的反馈都非常感谢,因为这是我的第一个NPM软件包,并且由于Hacktoberfest在美国对该项目的贡献也受到欢迎。