我正在尝试从文档中的数组中删除元素。 Anon集合有一个名为reviews
的数组。它应该包含我试图删除一个的objectIds列表。
var strId = "5848ad1432d019f0350de350"
// function makeObjectId(str){
// return mongoose.Types.ObjectId(str);
// }
var ObjectId = require("mongoose").Types.ObjectId;
// var ObjectIdVersion = new ObjectId(strId);
// var ObjectIdVersion = makeObjectId(strId);
var query = {_id : strId};
var pull = {"$pull" : {reviews : new ObjectId(strId)}};
Review.findOne(query)
.then(function(doc){
console.log("reviewDoc", doc)
// Anon.findOneAndUpdate({reviews : new ObjectId(strId)}, pull, {new : true})
// .then(function(doc){
// console.log(doc)
// })
// .catch(function(err){
// console.log(err)
// });
Anon.update({reviews : new ObjectId(strId)},
{$pull : {reviews : new ObjectId(strId) }},
{new : true}
)
.then(function(doc){
console.log("ANON :: ", doc)
})
.catch(function(err){
console.log(err)
})
})
.catch(function(err){
console.log(err);
})
当我{$ 1}}没有$ pull部分和Anon.find()
部分时,我会获得带有数组中id的Anons文档。所以我在想找文件不是问题。出于某种原因,我无法使用拉力。我认为它会起作用。
编辑:
来自发现:
new :true
编辑::我的架构的一部分,显示评论:
[ { _id: 57ca6df982d3a41814a18213,
__v: 1,
pointsRecord: [],
userType: 'anon',
transfered: { isTransfer: false },
images: [],
defaultImage: 'defaultPreppy.png',
createdOn: Wed Dec 07 2016 20:38:00 GMT-0500 (Eastern Standard Time),
repPoints: 0,
usefulness: [],
shortId: 'r1WYY4IQl',
reviews: [ 5848ad1432d019f0350de350 ] },
{ _id: 5848ace932d019f0350de34c,
momented: 'Dec 7, 2016',
__v: 3,
pointsRecord: [ [Object] ],
userType: 'anon',
transfered: { isTransfer: false },
images:
[ 'shipyourreptiles.com-SJbl67IXl-0',
'stashtea.com-SJbl67IXl-0' ],
defaultImage: 'defaultPreppy.png',
createdOn: Wed Dec 07 2016 19:44:25 GMT-0500 (Eastern Standard Time),
repPoints: 3,
usefulness: [],
shortId: 'SJbl67IXl',
reviews: [ 5848ad1432d019f0350de350 ] } ]