Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb查找ID数组_Mongodb_Meteor_Mongo_Es6_Functional Programming - Fatal编程技术网

Mongodb查找ID数组

Mongodb查找ID数组,mongodb,meteor,mongo,es6,functional-programming,Mongodb,Meteor,Mongo,Es6,Functional Programming,我有一个具有文档ID的数组: var ids = [ '5b3c7db4c079dc17dc75fc26', '5b3c7db4c079dc17dc75fc28' ] 我有一个叫做机器的收藏,里面有文件。 我正在尝试使用数组中的ID从Machines集合获取文档 Machines.find({ _id : { $in : ids } }).fetch(); 这将返回[]请尝试以下操作: var ids = [ ObjectId("5b3c7db4c079dc17dc75fc26"), Ob

我有一个具有文档ID的数组:

var ids = [ '5b3c7db4c079dc17dc75fc26', '5b3c7db4c079dc17dc75fc28' ]
我有一个叫做机器的收藏,里面有文件。

我正在尝试使用数组中的ID从Machines集合获取文档

Machines.find({ _id : { $in : ids } }).fetch();
这将返回[]

请尝试以下操作:

var ids = [ ObjectId("5b3c7db4c079dc17dc75fc26"), ObjectId("5b3c7db4c079dc17dc75fc28") ]
因为Mongodb将id存储为
ObjectId(“实际id”)
请尝试以下操作:

var ids = [ ObjectId("5b3c7db4c079dc17dc75fc26"), ObjectId("5b3c7db4c079dc17dc75fc28") ]

因为Mongodb将id存储为
ObjectId(“实际id”)

您也可以尝试
Machine.findById(req.params.id,()=>{}
,您也可以尝试
Machine.findById(req.params.id,()=>{}

<

看起来它们要么是十六进制字符串,要么是原生MongoDB BSON类型ObjectID

为Meteor的Mongo试一试:

从'meteor/Mongo'导入{Mongo};
常量ID=[
新Mongo.ObjectID('5b3c7db4c079dc17dc75fc26'),
新Mongo.ObjectID('5b3c7db4c079dc17dc75fc28'),
]
find({u id:{$in:ids}}).fetch();
要获得更好的语法,请使用
.map()
获取
Mongo.ObjectID
类型ID的新数组

import { Mongo } from 'meteor/mongo';

const ids = ['5b3c7db4c079dc17dc75fc26', '5b3c7db4c079dc17dc75fc28', ...];
const mongoIds = ids.map(id => new Mongo.ObjectID(id));

Machines.find({ _id : { $in : mongoIds } }).fetch();

// if ids were ObjectIDs instead of literal strings
const objectIdToMongoIds = ids.map(id => new Mongo.ObjectID(id.toString()));
Machines.find({ _id: { $in: objectIdToMongoIds } });
您的

看起来它们要么是十六进制字符串,要么是原生MongoDB BSON类型ObjectID

为Meteor的Mongo试一试:

从'meteor/Mongo'导入{Mongo};
常量ID=[
新Mongo.ObjectID('5b3c7db4c079dc17dc75fc26'),
新Mongo.ObjectID('5b3c7db4c079dc17dc75fc28'),
]
find({u id:{$in:ids}}).fetch();
要获得更好的语法,请使用
.map()
获取
Mongo.ObjectID
类型ID的新数组

import { Mongo } from 'meteor/mongo';

const ids = ['5b3c7db4c079dc17dc75fc26', '5b3c7db4c079dc17dc75fc28', ...];
const mongoIds = ids.map(id => new Mongo.ObjectID(id));

Machines.find({ _id : { $in : mongoIds } }).fetch();

// if ids were ObjectIDs instead of literal strings
const objectIdToMongoIds = ids.map(id => new Mongo.ObjectID(id.toString()));
Machines.find({ _id: { $in: objectIdToMongoIds } });