我正在尝试删除阵列中的第二个播放器。但是我尝试的所有方法都不起作用。感谢您的帮助
这里是存储的数据
{
"_id" : ObjectId("5cdd9dfe331fa63911455c4f"),
"name" : "goobers",
"venue" : ObjectId("5cdc96a4f957961fed9316dd"),
"league" : ObjectId("5cdc96b5f957961fed9316de"),
"duespaid" : 1,
"players" : [
{
"_id" : ObjectId("5cdc96c7f957961fed9316fe"),
"captain" : 1
},
{
"_id" : ObjectId("5cdc96cbf957961fed9316ff")
}
],
"__v" : 1
}
这是我认为可行的
db.leagues.update({
_id:ObjectId("5cdd9dfe331fa63911455c4f")
}, {
$pull: {
"players": {
"_id": ObjectId("5cdc96cbf957961fed9316ff")
}
}
})
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })
这是SCHEMA
var mongoose = require("mongoose");
//Scheme setup
var teamSchema = new mongoose.Schema({
name: String,
venue: {
type: mongoose.Schema.Types.ObjectId,
ref: "Venue"
},
league: {
type: mongoose.Schema.Types.ObjectId,
ref: "League"
},
players: [{
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "Player"
},
captain: Number,
name: String
}],
duespaid: Number
});
//var Campground = mongoose.model("League", leagueSchema);
module.exports = mongoose.model("Team", teamSchema);
答案 0 :(得分:0)
我现在解决了这个问题。问题出在我的模式设置中。猫鼬不喜欢我调用对象ID。现在,我无法将其推到正确的位置,并且一切正常。