星空网 > 软件开发 > 数据库

mongoose使用简记

mongodb中集合相当于表,常用指令

mongo 进入数据库

use yourdatabase 来选择你的数据集,这个跟关系型中的一样

show collections 来查看你数据集中的表,collection就是关系型中的表

db.createCollection(name,option) name是表名,option(可选)指定有关内存大小和索引选项

db.yourcollection.find() 来查找信息,()里面是查询参数,不填则返回表中全部信息。可以填一个或多个字段,比如{username:"admin“}

db.yourcollection.remove()删除一条或多条信息,但保留表db.yourcollection.drop()删除整个表

db.yourcollection.insert(item)item就是你要插入的数据

db.yourcollection.update(query,updatedata)query就是跟find一样,先找到你要更新的地方,updatedata可以是下面这样

$set:{'title':'New MongoDB.aspx' >MongoDB Tutorial'}}MongoDB默认将只更新单一的文件,来更新多个你需要设置参数置'multi' 为true {multi:true}

mongodb一个比较好的学习网站 http://www.yiibai.com/mongodb/

 

mongoose其实就是mongodb的一个封装库。记录一下mongoose的简单使用。

连接:

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/test');其中test是你database的名字

 

创建Schema,就是相当于创建表的结构,跟关系型的一样

var UserSchema = mongoose.Schema({  name: String})

然后将Schema变成模型(Model),这样你就可以操作Model对象了

var UserInfo = mongoose.model('UserInfo', UserSchema)

这个过程会在数据库中建表,表名就是model方法中的第一个参数+s,比如这个就是userinfos(表名不区分大小写)

 

添加一条新数据:

var newUser = new UserInfo({ name: 'fluffy' });newUser.save(function (err, user) { if (err) return console.error(err);});

这里匿名函数的第二个参数是插入成功后返回的对象本身

 

查找:

 UserInfo.find({username:username},function (err, user) {  if (err) return callback(err) ;  callback(null,user) ; });

和mongodb的基本一致需要查找的参数,返回的是对象数组,就算你知道数据库中只有一个对象,也是返回长度为1的数组,如果要只返回一个对象利用findOne方法。

在做应用的时候很有可能有这样的需求就是,我得到了一份用户的名单,我希望传入名单数组得到所对应的这群用户的信息,说白了就是查询条件是一个字段的数组。那么方法如下:

 UserInfo.find().where('username').in(arr).exec(function(err,UserList){  if(err){   callback(err) ;  }else {   callback(null,UserList) ;  } });

其中where中填写的就是字段,in(arr)中的arr就是那个用户名数组

 

更新:

  UserInfo.update({username: data.username}, {$set: {username:“admin”}}, function (err, result) {   callback(result);  });

很有可能遇到Number的字段,然后你想让它在原有的基础上加1或者减1,下面是个减1的例子

  UserInfo.update({username: data.username}, {$inc: {follower_count:-1}}, function (err, result) {   console.log("updateFollower" + result);   callback(result);  });

 

计数:

 UserInfo.count(data, function(err,count){  callback(count) ; });

 

删除和查找差不多,就不说了,mongoose的文档网站 http://www.nodeclass.com/api/mongoose.html

 

还有就是我作为萌新遇到的问题:这些操作都是异步的!异步这个思想在node中很重要,所以你一定要在回调函数里对数据进行处理。

 

 

 

 




原标题:mongoose使用简记

关键词:Mongo

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

买家之声上线:https://www.goluckyvip.com/tag/6954.html
日本版花呗:https://www.goluckyvip.com/tag/6955.html
美本申请美国硕士:https://www.goluckyvip.com/tag/69567.html
长期存储费用:https://www.goluckyvip.com/tag/6957.html
流量那些事:https://www.goluckyvip.com/tag/6958.html
效率提高50%:https://www.goluckyvip.com/tag/696.html
Temu引发家庭矛盾?年轻一代为何对低价商品集体摇头:https://www.xlkjsw.com/news/94308.html
如何通过 9 个步骤建立商业信用:https://www.kjdsnews.com/a/1842262.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流