【发布时间】:2017-06-27 11:04:32
【问题描述】:
我有以下结构。我想防止推入具有相同属性的文档。
例如基本上,我首先找到用户对象。如果我有另一个 vid(已经在里面),它不会被推入。尝试使用 $addToSet,但失败了。
我正在使用猫鼬。
这是我的模型结构:
var User = mongoose.model('User', {
oauthID: Number,
name: String,
username: String,
email: String,
location: String,
birthday: String,
joindate: Date,
pvideos: Array
});
这是我推入 Mongo 的代码
exports.pinkvideo = function(req, res) {
var vid = req.body.vid;
var oauthid = req.body.oauthid;
var User = require('../models/user.js');
var user = User.findOne({
oauthID: oauthid
}, function(err, obj) {
if (!err && obj != null) {
obj.pvideos.push({
vid: vid
});
obj.save(function(err) {
res.json({
status: 'success'
});
});
}
});
};
【问题讨论】:
-
您在使用$addToSet时遇到了什么错误?
-
嗨@ashu,没有错误。代码只是没有工作,当我推送一个重复的条目时,它被输入到数据库中
标签: node.js mongodb mongoose mongodb-query