Node.js Mongoose 如何保存新文档并向数组字段添加新值
Posted
技术标签:
【中文标题】Node.js Mongoose 如何保存新文档并向数组字段添加新值【英文标题】:Node.js Mongoose how to save new document and add new value to array field 【发布时间】:2017-08-31 03:32:57 【问题描述】:我有一个User
模型,每个user
文档都有name
字段,它是String
和friends
字段,它是一个整数的array
,它包含该用户的其他用户的id's
是朋友。
每当我想在朋友数组中创建一个具有一个 id 的新用户文档时,我必须执行三个步骤: 1. 创建具有特定名称的新用户; 2. 保存该用户; 3. 通过将新朋友 id 添加到数组中来更新此用户的朋友字段。
我想知道是否有另一种更有效的方法来实现相同的结果。到目前为止,这是我的代码:
var User = mongoose.model('User',
friends:
type: [Number],
required: false
,
name: String
);
//cretae new user document
var user = new User (
name: name
);
user.save(function(err)
if(err)
console.log("something went wrog, read below");
console.log(err);
else
User.update('name': name,
$addToSet: 'friends': newFriendId
,function(err, count)
if(err)
console.log(err);
else
console.log(count);
);
);
【问题讨论】:
为什么在用户保存后使用更新? 【参考方案1】:var User = mongoose.model('User',
friends:
type: [Number],
required: false
,
name: String
);
//cretae new user document
var user = new User (
name: name,
friends : [newFriendId]
);
user.save(function(err)
if(err)
console.log("something went wrog, read below");
console.log(err);
else
);
【讨论】:
以上是关于Node.js Mongoose 如何保存新文档并向数组字段添加新值的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MongoDB 中对聚合查询结果进行分页并获得总文档数(Node.js + Mongoose)?
使用node js mongoose保存后如何返回json数据
无法在 POST (mongoose/express) 上创建新文档