<p>首先你要安装node和mongodb然后安装mongoose使用npminstall命令</p><p>$npminstallmongoose然后我们加载mongoose模块然后,创建数据库连接,这里我们连接本地数据库test</p><p>//getting-started.js</p><p>varmongoose=require('mongoose');</p><p>mongoose.connect('mongodb://localhost/test');连接好之后我们需要知道一些连接信息比如是否连接上去了,第一次连接是否成功,:</p><p>vardb=mongoose.connection;</p><p>db.on('error',console.error.bind(console,'connectionerror:'));</p><p>db.once('open',functioncallback(){</p><p>//yay!</p><p>});一旦连接上去了我们就执行下面代码来告诉使用者我们已经连接上去了</p><p>varkittySchema=mongoose.Schema({</p><p>name:String</p><p>})到目前为止,一切都很好。我们已经有了一个模式与一个属性,名称,这将是一个字符串。下一步是编译我们的架构成一个模型。</p><p>varKitten=mongoose.model('Kitten',kittySchema)模型是与我们构建文件的类。在这种情况下,每个文档将与性能和在我们的模式中声明的行为小猫。让我们创建一个代表,我们只是在人行道上遇见外面的小家伙一只Kitten:</p><p>varsilence=newKitten({name:'Silence'})</p><p>console.log(silence.name)//'Silence'这只小猫可以喵,我们给他添加说话功能</p><p>//NOTE:methodsmustbeaddedtotheschemabeforecompilingitwithmongoose.model()</p><p>kittySchema.methods.speak=function(){</p><p>vargreeting=this.name</p><p>?"Meownameis"+this.name</p><p>:"Idon'thaveaname"</p><p>console.log(greeting);</p><p>}varKitten=mongoose.model('Kitten',kittySchema)添加到架构的方法,属性函数被编译成模型和原型暴露在每个文档实例:</p><p>varfluffy=newKitten({name:'fluffy'});</p><p>fluffy.speak()//"Meownameisfluffy"我们谈论的小猫!但是,我们还没有节省什么的MongoDB。每个文件可以通过调用其Save方法可以保存到数据库中。第一个参数的回调将是一个错误。</p><p>fluffy.save(function(err,fluffy){</p><p>if(err)//TODOhandletheerror</p><p>fluffy.speak();</p><p>});说时间的推移,我们要显示我们所见过的小猫。我们可以通过我们的小猫模型访问所有的小猫文件。</p><p>Kitten.find(function(err,kittens){</p><p>if(err)//TODOhandleerr</p><p>console.log(kittens)</p><p>})我们只是记录了所有在我们的数据库中的小猫到控制台。如果我们想通过名称来过滤我们的小猫,mongoose支持MongoDB丰富的查询语法。</p><p>Kitten.find({name:/^Fluff/},callback)这个执行搜索与开头的/^Fluff/,并将结果返回给回调的名称属性的所有文件。</p>