- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用 MongoDB 2.6.7,我正在尝试运行以下查询
Categories.find({'_id': { $nin: ancestors }})
其中 Categories 集合与 MongoDB 文档手册中使用的完全相同(具有祖先数组的模型树结构)。例如:
db.categories.insert( { _id: "MongoDB", ancestors: [ "Books", "Programming", "Databases" ], parent: "Databases" } )
但我没有得到任何结果,所以我想知道是否有可能获得 Categories 集合中所有未包含在任何文档的祖先数组字段中的文档...换句话说,没有子项的类别类别。
最佳答案
您基本上需要 categories
集合中的 ancestors
中的所有类别集。如果你有这个列表,那么你可以运行一个简单的查询:
> var ancestors = [ "Books", "Programming", "Databases" ];
> db.categories.find({ "_id" : { "$nin" : ancestors }});
如果您没有设置 ancestors
,则可以使用聚合获取它。
> db.categories.aggregate([
{ "$unwind": "$ancestors" },
{ "$group":
{
"_id": null,
"ancestors": { "$addToSet": "$ancestors" }
}
}
]);
{ "_id" : null, "ancestors" : [ "Databases", "Programming", "Books" ] }
您也可以使用 distinct()
获取此数组。
> db.categories.distinct("ancestors");
[ "Books", "Databases", "Programming" ]
根据该结果,您可以运行原始查询。
关于MongoDB - 在另一个字段上使用 $nin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28723496/
有没有人使用过 C# .Net MongoDB Driver FilterDefinitionBuilder's not in filter?这是我放在一起的一个简单示例,但我似乎无法开始工作。假设我
如果我的模式有一个像这样的嵌入式文档: location: { coordinates: [-41.588221, 71.123812], unitNumber: '4a',
我正在使用 MongoDB 2.6.7,我正在尝试运行以下查询 Categories.find({'_id': { $nin: ancestors }}) 其中 Categories 集合与 Mong
我有一个如下所示的 mongo 文档; { "_id": "123", "name": "ABC", "elements": { "_id": "123",
我有一个查询来查找用户 CreatedBy 是否在 SharedWith 中。我想反转查询以检查 CreatedBy 是否不在 SharedWith 中。 [ { "$matc
我在使用 NEDB find() 查询结构时遇到问题。 下面的 find() 查询应该返回所有新消息:发送到指定的 email 或 All 组,但尚未发送通过指定的 email 阅读或发送。 但是,它
我有 2 个集合,我正在尝试从 Coll_A 获取所有记录其中 Field1 中不存在某个字段 ( Coll_B ) . 我遇到的问题是这个Field1在Coll_A包含一个字符串值,在末尾用空格填充
我有一个函数应该返回在给定时间段内创建的用户数以及受邀者和未受邀者的分组。在 $cond 运算符上,我需要比较字段 tkbSponsor 是否不是 null 并且不等于 example@example
我有一个像这样的用户架构 const userSchema= new mongoose.Schema({ Username:{ type:String, trim:true
使用 Mongoose 操作过滤用户(管理员)。 他需要查看所有已保存的文件...除了草稿文件.. 但他应该能够再次看到自己保存的草稿文件... 代码: filter = { '_id':
mongodb 中有非严格的 $nin 版本吗?例如 假设我们有一个名为“用户”的模型和一个名为“任务”的模型 var TaskSchema = new Schema({ user_array
我的 transactions 集合中有以下文档。 {txnId: 1, amount: 200, tags:["monthly", "recharge"]}, {txnId: 2, amount:
我正在使用 Mongoose 来检查我的数据库中是否存在某个元素。 为此,我正在使用类似的东西- object.aggregate([ {$match: {
我正在使用 Pymongo 对文件名列表执行一个简单的查询: db.FileAssets.find({'filename': {'$nin': filenames}}}) 但是,查询抛出 Docume
我有一个 mongodb,其中包含一个包含音乐排行榜上的每首歌曲的集合。我写了一个脚本,它接受我想要的歌曲数量以及我想要随机选择歌曲的年份的输入。到目前为止一切顺利。 但是,我试图做到这一点,因为返回
我对这个答案进行了高估和低估,但没有任何效果。我有一个管道查询,其匹配项如下: $match: { $expr: { $and: [ .... ] } } 在 $a
我想通过在属性上使用 $or 来实现 $sum 和 $cond: db.collectionName.aggregate( { "$group": { "_id":'$created_
所以我有一些node.js代码,其中有一些用于mongodb的$in和$nin id。 “$nin”列表实际上比“$in”列表大得多。 在“我的实现”中,我用“简单的方法”做到了这一点,将两个 ids
我正在使用 Nodejs、mongodb 数据库。我们可以像这样使用 $nin Model.find({ uname : { $nin : ["sachin","saurav"] } }.... un
我是一名优秀的程序员,十分优秀!