我试图从数组(子文档)中拉/删除值。
示例文档:
{
_id: 5150a1199fac0e6910000002,
name: 'some name,
items: [{
id: 23,
name: 'item name 23'
},{
id: 24,
name: 'item name 24'
}]
}
我已经从mongo取下了那份文件。我正在努力:
var left = object.items.pull({id: 24});
console.log(left)
产出:
[{
id: 23,
name: 'item name 23',
_id: 5150a1199fac0e6910000045
},{
id: 24,
name: 'item name 24',
_id: 5150a1199fac0e6910000002
}]
看来我已经有问题了。从拉取调用返回的数组应该是拉取后数组中剩下的内容。不确定为什么它没有从项目数组中拉出。这是否只支持通过ObjectId而不是用户定义的字段拉动?
我叫save:
object.save();
Mongoose将此记录为查询:
Mongoose: mycollection.update({ _id: ObjectId("5150901ac345824a07000002"), __v: 3 })
{ '$inc': { __v: 1 }, '$pull':
{ attachments: { _id: { '$in': [ ObjectId("5150c64d63773efb1f000002") ] } } } } {}
这显示了我的文档未被删除的原因。应删除的数组项的_id为:
_id: 5150a1199fac0e6910000002
mongoose发送到数据库以删除的项目是:
ObjectId("5150c64d63773efb1f000002")
你知道我做错了什么吗?我正在尝试通过除_id之外的其他方式删除,不确定这是否可行,但从文档中看起来是可行的。
我发现$pull命令也不适用于我,除非我在参数列表中包含回调。
在我的情况下,这种格式不起作用:
UserAlerts.findOneAndUpdate({userId: userId}, {$pull: {alerts: {_id: alertId}}});
但是这种格式确实:
UserAlerts.findOneAndUpdate({userId: userId}, {$pull: {alerts: {_id: alertId}}}, function(err, data){
console.log(err, data);
});
根据文档,这两种方法似乎都应该起作用,但不能。原因是第一种方法需要你打电话。返回对象上的exec(),而回调版本会自动调用exec()。也给我带来了一些困惑。
所以你需要这样做:
UserAlerts.findOneAndUpdate({userId: userId}, {$pull: {alerts: {_id: alertId}}}).exec();
问题内容: 我想知道从ArrayList转换为Array是否安全/建议?我有一个文本文件,每行一个字符串: 我想将它们读入数组列表,然后将其转换为数组。建议这样做/合法吗? 谢谢 问题答案: 是的,将转换为是安全的。一个好主意取决于您的预期用途。您需要提供的操作吗?如果是这样,请将其保留为。否则转换掉! 输出
我将MongoDB的查询结果作为包含嵌套子文档和子文档数组的文档数组。 问题 我需要按列顺序将结果导出到XLSX。XLSX库仅用于导出顶级属性(如RecordID和RecordType)。我还需要导出嵌套对象和对象数组。给定属性名称列表,例如,属性必须按指定顺序导出到XLSX列。 期望结果 下面是所需的“扁平”结构(或类似结构),我认为应该能够转换为XLSX列。 我正在使用XLSX库将查询结果转换
问题内容: 我正在尝试创建一个多租户应用程序(saas),其中每个客户端都有自己的数据库。 我的情况是: 我创建了一个中间件,该中间件将确定谁是基于子域的客户端,然后从常规数据库中检索客户端的数据库连接信息。我不知道如何为此客户端建立连接对象,以便能够在我的控制器中使用。我应该在中间件还是控制器中执行此操作?如果它在模型中,我该如何传递连接字符串和参数(我可以使用会话,但我不知道如何从模型内部访问
我正在rails中使用引导下拉列表,它突然停止工作。如果我像它工作正常,但如果我真的单击它,什么也不会发生。 如果我使用jQuery附加了一个单击处理程序,如,然后当我单击链接时触发。 这是不是因为事件被什么东西吞没了?有没有办法弄清楚这是什么? 我不能在jsFiddle类型的环境中重现错误,但这里是相关的html: 更新:我发现如果我调用页面加载几秒钟后,它就可以工作了,但如果我在页面加载时正确
我的数据如下所示: 其中,foo\u list是一个名为Bar的模型中的字段。请注意,阵列中的第一个和第二个对象是完全重复的。 除了切换到PostgresSQL这一显而易见的解决方案之外,我还可以运行什么MongoDB查询来删除foo\u列表中的重复条目? 类似的答案并不能完全解决这个问题: https://stackoverflow.com/a/16907596/432 https://stac
我正在创建一个带有jQuery和toggle功能的下拉列表,因为我希望选择器可以通过自定义滚动条显示的下拉选项进行单击。 到目前为止,我有一些这样的代码:JSFiddle 单击div时,将显示具有各种选项的下拉菜单,同时,单击/切换选择器时,选择器上的箭头将从下变为上。当鼠标悬停在选项上时,选项的背景色将变为灰色。 我的预期结果应该是这样的: 但是我不能将下拉菜单从-9000px推到0px以显示它