У меня есть следующая схема:
{
"_id" : 27,
"n" : [{
"d" : new Date("Sat, 24 Dec 2011 17:03:00 GMT +04:00"),
"e" : ObjectId("4f0aef5346b3b88013000001"),
"f" : [26, 10, 16],
"k" : new Date("Mon, 09 Jan 2011 17:44:51 GMT +04:00"),
"t" : "f",
"u" : 10
}, {
"a" : ObjectId("4f0c208846b3b8140f000000"),
"d" : new Date("Tue, 10 Jan 2012 15:27:21 GMT +04:00"),
"p" : [ObjectId("4f0c209046b3b8340f000000"), ObjectId("4f0c209346b3b8340f000001"), ObjectId("4f0c209646b3b8340f000002"), ObjectId("4f0c209946b3b8340f000003")],
"t" : "p",
"u" : 10
}]
}
и этот запрос удаляет все подэлементы, если хотя бы один из них удовлетворяет этому
db.newsFeed.update({ "_id" : 27, },{
$pull : {
'n' : {
'd' : {
$lte : new Date(2012, 1, 1)
}
}
}
});
так что документ становится таким,
{
"_id": 27,
"n": []
}
что я делаю не так, и что более важно, что я должен сделать, чтобы вытянуть только некоторые элементы?