我正在尝试批量更新一些mongo文档.
我正在使用查询
db.articles.update(
{
'categories.id': ObjectId("51cd5272222wb6zs464fa4d9"),
'source.importer': 'pa'
},
{
$set :
{
'source.expires-at': ISODate("2014-01-01T08:39:45Z")
}
}
)
Run Code Online (Sandbox Code Playgroud)
此查询不会更新该source.expires-at字段,但该语句的where部分工作正常.
文档结构是
{
"_id": ObjectId("5211dc100000044707000015"),
"categories": {
"0": {
"id": ObjectId("51cd5272222wb6zs464fa4d9")
}
},
"source": {
"importer": "pa",
"expires-at": ISODate("2013-09-18T08:49:32.0Z")
}
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个mongo查询,该查询将返回所有数组都将特定元素设置为false的结果.
一个示例数据记录: -
images: [
{
id: ObjectId("516bef7fc05e877b31000000"),
primary: true
},
{
id: ObjectId("516bef2ac05e879622000000"),
primary: false
},
{
id: ObjectId("516beeb7c05e879e2a000000"),
primary: false
}
],
name: "test",
etc: "etc"
Run Code Online (Sandbox Code Playgroud)
我只希望找到所有主要字段都设置为false的文档,但通常情况下(不使用查询选择器或elemMatch)mongo将返回此文档,因为至少有一个数组元素匹配.
如何使mongo只返回与我的搜索参数匹配的文档?
非常感谢.