无法找到更新时如何对数组进行排序。怎么了?谢谢!
这不起作用:
Template.doc.events({
'submit form': function (event) {
event.preventDefault();
var newTag = event.target.tags.value;
if (!!newTag) { // if not empty
MyPix.update(this._id, {
$addToSet: {
'metadata.tags': {
$each: [ newTag ],
}
},
$sort: {
'metadata.tags': 1
}
});
}
}
});
错误:更新失败:访问被拒绝。限制集合中不允许运营商$ sort。
这不起作用:
Template.doc.events({
'submit form': function (event) {
event.preventDefault();
var newTag = event.target.tags.value;
if (!!newTag) { // if not empty
MyPix.update(this._id, {
$addToSet: {
'metadata.tags': {
$each: [ newTag ],
}
},
$push: {
'metadata.tags': {
$each: [ ], $sort: -1
}
}
});
}
}
});
错误:更新失败:MongoError:修饰符不允许使用字段名重复
答案 0 :(得分:1)
在MongoDB 2.6中,您可以使用$position
修饰符指定数组中$push
插入值的位置。
http://docs.mongodb.org/manual/reference/operator/update/position/#up._S_position
当前版本的Meteor(1.0.3.1)并不支持2.6,但我们很快就会加入支持。在客户端上使用$position
(更确切地说,在minimongo中),需要将$position
的支持添加到minimongo。我们欢迎拉取请求。